如何将模式位置设置到屏幕的左下角?

时间:2018-09-20 09:52:31

标签: c++ windows winapi modal-dialog

我正在使用WinApi和C ++,并且试图将模式的位置设置在屏幕的左下角,但是我不知道如何。我希望该程序可用于不同的屏幕分辨率并考虑任务栏(模式必须位于其上方)。 我目前使用此设置窗口位置:

SetWindowPos( GetHwnd(), HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE | SWP_NOSIZE );

1 个答案:

答案 0 :(得分:0)

您可以使用MonitorFromWindow来检索显示窗口的监视器的句柄。

然后使用GetMonitorInfo获取该监视器的MONITORINFO

在MONITORINFO中,您会找到RECT rcWork,它描述了工作区域,即不包括任务栏的任何地方。

使用GetWindowRect找出窗口的大小,并将其放置在rcWork的左下角。

请注意,在这种情况下,您不应使用SWP_NOMOVE because this

  

保留当前位置(忽略X和Y参数)。