我对此进行了大量研究。有一些程序,如Mousinity,允许“鼠标包装”。如果您通过另一个术语知道它,那就是当鼠标指针离开屏幕的一侧并出现在屏幕的另一侧时。
但是,执行此操作的所有程序都未能在其功能列表中包含一个关键元素:多监视器设置。我厌倦了下载一个完全异类的软件,只是为了让它不适用于我的设置。
这个问题的问题是:
有没有办法通过Windows的某种API调用来控制鼠标指针的行为?编辑:更具体地说,API如何处理多个监视器?坐标平面的原点在哪里?
虽然我明白它会更复杂,但这是我想要做的伪代码:
if (mouse_position == side_of_screen_of_monitor1 && Mouse_is_being_moved off screen)
{
mouse_position == opposite_side_of_screen_of_monitor2
}
答案 0 :(得分:1)
原点是主监视器的左上角。如果您将监视器放在主监视器的左侧,则该监视器上的x坐标将为负。如果监视器位于主监视器上方或部分位于主监视器上方,则该区域的y坐标将为负。
GetSystemMetrics还具有仅涉及Multiple Monitor系统的常量。 SM_XVIRTUALSCREEN和SM_YVIRTUALSCREEN标识虚拟屏幕的左上角,SM_CXVIRTUALSCREEN和SM_CYVIRTUALSCREEN是虚拟屏幕的垂直和水平测量值
有关详情,请参阅此处:
对于您的任务,我认为您可能只需要考虑虚拟屏幕坐标。