Python 将pyautogui与多个监视器一起使用

Python 将pyautogui与多个监视器一起使用,python,automation,Python,Automation,我正在尝试使用python的pyautogui模块来自动化鼠标单击和移动。然而,它似乎无法识别除主屏幕以外的任何监视器,这意味着我无法在任何其他屏幕上输入任何操作,这对于我正在处理的项目来说是一个巨大的问题 我在谷歌上搜索了2个小时,但我找不到任何直接的答案来说明这是否真的有可能。如果有人能告诉我这是或不可能的话,告诉我如果是怎么做,或者建议一个同样有效的替代方案(对于python),我将不胜感激 是的,这是可能的!使用此代码确定鼠标在屏幕上的注册位置: import pyautogui pr

我正在尝试使用python的pyautogui模块来自动化鼠标单击和移动。然而,它似乎无法识别除主屏幕以外的任何监视器,这意味着我无法在任何其他屏幕上输入任何操作,这对于我正在处理的项目来说是一个巨大的问题


我在谷歌上搜索了2个小时,但我找不到任何直接的答案来说明这是否真的有可能。如果有人能告诉我这是或不可能的话,告诉我如果是怎么做,或者建议一个同样有效的替代方案(对于python),我将不胜感激

是的,这是可能的!使用此代码确定鼠标在屏幕上的注册位置:

import pyautogui

print('Press Ctrl-C to quit.')

try:
    while True:
        x, y = pyautogui.position()
        positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
        print(positionStr, end='')
        print('\b' * len(positionStr), end='', flush=True)

except KeyboardInterrupt:
    print('\nDone.')

这应该在命令提示符下运行。如果在空闲状态下运行,输出将是无意义的。

不确定这是否清晰,但我从0中减去了扩展监视器的水平分辨率,因为我的第二个监视器位于主显示器的左侧。这让我避免了越界警告。我的答案可能不是最清楚的,但我想我会插话让大家知道它实际上可以工作。

好的,这解决了获取鼠标坐标的最初问题,谢谢。但是,我仍然无法在任何其他监视器上输入任何鼠标活动,因为pyautogui仍然只响应0x0到1920x1080之间的坐标。有什么想法吗?它没有给我任何错误,命令提示符的行为好像没有什么问题。但当我输入当前监视器维度之外的值时,它会将鼠标移动到尽可能接近该值的位置。比如说。如果我输入(-1000,0),那么鼠标将移动到显示器的左上角,就好像我输入了(0,0)该死,那也不行。我做了更多的测试,结果证明pyautogui可以识别我的光标在主监视器的范围之外。但任何超出主监视器范围的运动都会被完全阻断。这太令人沮丧了,我留出了一个空间进行更多的讨论,所以这篇文章没有太多的评论:不幸的是,我今天只做了一个账户,所以我没有足够的声誉来发表我的文章。然而,为了回答你在那里发布的问题,我只是通过python cmd和IDLE运行这些命令。还请解释一下减去分辨率背后的思想。这可能会让你的答案更加清晰。