我正在创建一个需要以编程方式移动鼠标指针的应用程序。 我的想法是VC ++ 2013。 我正在使用带有此功能的winuser.h标头:
SetCursorPos(int x, int y);
但是这只会在主屏幕上移动鼠标。 对于只有一个显示器的情况,这工作正常。 但如果我处于演示模式,有2个显示器,我需要将鼠标移动到第二个显示器。
所以,我需要检测是否有2个显示器,如果有,请将鼠标移动到第二个显示器。
答案 0 :(得分:2)
从概念上讲,鼠标移动(并且窗口定位)在虚拟桌面上 - 跨越所有监视器的大型桌面。监视器是这个表面上的一个视口 - 它显示了落入某个矩形的任何事件。
EnumDisplayMonitors
为您提供所有监视器的列表,以及此监视器在虚拟桌面上显示的每个矩形。要将鼠标光标移动到特定监视器,只需将其移动到与该监视器对应的矩形内的点即可。