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

标签 c mfc

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

这是我尝试过的:

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

显示在屏幕中央

最佳答案

使用 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);

关于c - 在屏幕右下角显示窗口(任务栏上方),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35534346/

相关文章:

c - 如何在 C 中运行多个 execlp()?

c++ - 使用 MFC 添加两个数字

c++ - MFC分配大内存

c++ - 在MFC中捕获鼠标指针形状变化事件

c++ - 在不使用资源 DLL 的情况下向 MFC 项目添加第二种语言

c++ - 动态创建的组合框中的 CBN_SELCHANGE

c++ - 如何将二进制字符串转换为整数字符串

c - 为包含灵活数组成员的结构动态分配内存

c - 如何转换指针(使其变大)

c - 如何使用 printf 格式化 unsigned long long int?