Microsoft为支持多显示器模式提供了一些新的API调用,下面具体介绍它们的功能:
1.HMONITOR MonitorFromPoint(POINT pt,DWORD dwFlags)
MonitorFromPoint返回包含特定点(pt)的一个显示器句柄。如果pt不属于任何一个显示器,返回的显示器句柄由dwFlags标志决定:
MONITOR_DEFAULTTONULL时返回NULL
MONITOR_DEFAULTTOPRIMARY时返回代表主显示器的HMONITOR句柄
MONITOR_DEFAULTTONEAREST时返回最靠近pt点的显示器的HMONITOR句柄
2.HMONITOR MonitorFromRect(LPCRECT lprc,DWORD dwFlags)
MonitorFromRect返回包含lprc代表的矩形的显示器句柄;如果包含此矩形的显示区域不止一个,则返回包含矩形最大部分的显示器句柄;如果矩形不属于任何一个显示区域,返回的句柄由dwFlags决定:
MONITOR_DEFAULTTONULL时返回NULL
MONITOR_DEFAULTTOPRIMARY时返回代表主显示器的HMONITOR句柄
MONITOR_DEFAULTTONEAREST时返回最靠近矩形的显示器的HMONITOR句柄
3. HMONITOR MonitorFromWindow(HWND hwnd,DWORD dwFlags)
与MonitorFromRect类似,但输入是一个代表窗口的句柄hwnd而

本文详细介绍了Microsoft提供的API,用于支持在多显示器环境下开发Windows程序。包括MonitorFromPoint、MonitorFromRect、MonitorFromWindow、GetMonitorInfo、EnumDisplayMonitors等函数的使用,以及如何判断窗口是否在有效坐标内、矩形是否位于主显示器等场景的应用。同时,文章还提醒了在多显示器模式下需要注意的坐标计算和API调用问题。

1万+

被折叠的 条评论
为什么被折叠?



