当有多个显示器时怎么获取除任务栏外大小(主屏幕有任务栏,别的屏幕没有任务栏)???

大树学长 2019-08-23 04:01:36
1、只能获取主屏幕除任务栏以外的大小
CRect rt;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rt, 0);
2、GetSystemMetrics(SM_CMONITORS);
可以获取当前的屏幕数

怎么根据软件所在的屏幕获取当前屏幕客户区的大小,在除主屏幕以外的屏幕应该怎么获取客户区大小?MonitorFromPoint?
...全文
199 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
大树学长 2019-08-26
  • 打赏
  • 举报
回复
这还有一个BUG就是要判断主屏幕的任务栏是否隐藏了
大树学长 2019-08-26
  • 打赏
  • 举报
回复
我使用MonitorFromRect解决了问题,主要还是判断是否为主屏幕,即将获取的当前屏幕左上角坐标判断是否为0,就可判断是否为主屏幕 //获取某矩形区域,窗口所在屏幕 HMONITOR MonitorFromRect(LPRECT lprc,DWORD dwFlags); lprc为指定矩形区域 dwFlags可取下面的值,表示没有任何显示器包含该点时,返回什么值MONITOR_DEFAULTTONULL(返回NULL) MONITOR_DEFAULTTOPRIMARY(返回主屏) MONITOR_DEFAULTTONEAREST(返回最靠近该目标的屏幕)
zgl7903 2019-08-23
  • 打赏
  • 举报
回复
CRect rcScreen(GetSystemMetrics(SM_XVIRTUALSCREEN), GetSystemMetrics(SM_YVIRTUALSCREEN), GetSystemMetrics( SM_CXVIRTUALSCREEN), GetSystemMetrics( SM_CYVIRTUALSCREEN));
Eleven 2019-08-23
  • 打赏
  • 举报
回复
EnumDisplayDevicess/EnumDisplaySettings

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧