获取桌面的坐标

1 // 获取桌面x坐标,可以为负值
2 int xScreen = ::GetSystemMetrics( SM_XVIRTUALSCREEN );
3 // 获取桌面y坐标,可以为负值
4 int yScreen = ::GetSystemMetrics( SM_YVIRTUALSCREEN );
5 // 获取桌面总宽度
6 int cxScreen = ::GetSystemMetrics(SM_CXVIRTUALSCREEN);
7 // 获取桌面总高度

8 int cyScreen = ::GetSystemMetrics(SM_CYVIRTUALSCREEN);  

 

获取窗口句柄所在屏幕的位置

 当处理窗口居中显示时,我们需要获取窗口所在屏幕工作区域的大小,这个工作可以使用下面代码完成:

1 MONITORINFO oMonitor = {};
2 oMonitor.cbSize = sizeof(oMonitor);
3 ::GetMonitorInfo(::MonitorFromWindow(hWnd, MONITOR_DEFAULTTONEAREST), &oMonitor);
4 RECT rcWork = oMonitor.rcWork;

oMonitor.rcWork获取的是工作区的大小,它不包含任务栏,如果想获取屏幕大小,可以使用oMonitor.rcScreen

 

获取屏幕数量

 int nScreenCount = GetSystemMetrics(SM_CMONITORS);


相关文章:

  • 2022-02-12
  • 2022-01-26
  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
  • 2022-12-23
  • 2021-04-28
  • 2021-11-30
猜你喜欢
  • 2021-10-30
  • 2022-12-23
  • 2021-12-23
  • 2022-01-01
  • 2021-07-03
  • 2022-01-22
  • 2021-12-16
相关资源
相似解决方案