如何将鼠标移动到第二屏幕显示器?

How to move mouse to second screen monitor?

我正在制作一个需要以编程方式移动鼠标指针的应用程序。 我的 ide 是 VC++ 2013。 我正在使用具有此功能的 winuser.h header:

SetCursorPos(int x, int y);

但这只会在主屏幕上移动鼠标。 对于只有一台显示器的情况,这很好用。 但如果我处于演示模式,有 2 个显示器,我需要将鼠标移动到第二个显示器。

所以,我需要检测是否有 2 个显示器,如果有,将鼠标移到第二个显示器。

从概念上讲,鼠标在虚拟桌面上移动(并且 windows 被定位)——一个横跨所有显示器的大桌面表面。监视器是该表面上的视口 - 它显示落入某个矩形的任何情况。

EnumDisplayMonitors 为您提供所有监视器的列表,以及此监视器在虚拟桌面上显示的每个矩形。要将鼠标光标移动到特定监视器,只需将其移动到与该监视器对应的矩形内的点即可。