在屏幕右下角显示窗口(任务栏上方)

时间:2016-02-21 09:18:29

标签: c mfc

我想在屏幕的右上角(任务栏上方)显示我的TopMost窗口

以下是我的尝试:

this->SetWindowPos(&this->wndBottom, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

显示在屏幕中央

1 个答案:

答案 0 :(得分:1)

使用SystemParametersInfo(SPI_GETWORKAREA...)查找桌面矩形(工具栏以外的区域),然后使用SWP_NOSIZE标志设置窗口位置:

CRect rcDesktop;
::SystemParametersInfo(SPI_GETWORKAREA, NULL, &rcDesktop, NULL);

CRect rw;
GetWindowRect(&rw);

SetWindowPos(0, rcDesktop.right - rw.Width(), rcDesktop.bottom - rw.Height(), 0, 0, 
    SWP_NOSIZE);