Win32api没有在python中给出GetCursorPos()的正确坐标

Jon*_*han 1 python winapi pywin32 python-2.7

当使用pywin的win32api时,我得到的光标位置值不正确.我的屏幕分辨率是1920x1080,但是当我使用GetCursorPos()时,左上角有(0,0),右下角有(1535,863).我使用的代码如下:

import win32api

def getCursor():
    print win32api.GetCursorPos()
Run Code Online (Sandbox Code Playgroud)

我在Windows 10上使用python 2.7尝试这个,但是我在Windows 8上的python 2.6中也遇到了这个错误.这个问题是否有任何解决方案或解决方法?

Dav*_*nan 5

您受DPI虚拟化的影响.您的应用程序尚未声明自己意识到高DPI,并且您的字体缩放比例为125%.

如果要避免DPI虚拟化,请将高DPI感知选项添加到应用程序清单或调用SetProcessDPIAwareSetProcessDPIAwareness.

  • `import ctypes` `user32 = ctypes.windll.user32` `user32.SetProcessDPIAware()` 你是这个意思吗? (2认同)