2015-09-12 93 views
1

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

import win32api 

def getCursor(): 
    print win32api.GetCursorPos() 

我想这个使用python 2.7在Windows 10,但我也可以在Windows 8收到此错误在Python 2.6是否有任何解决方案或解决此问题的?

+0

我得到正确的位置。 (0,0)左上和(1919,1199)右下。 Windows 10,Python 2.7 – KobeJohn

回答

5

您需注明DPI virtualization。您的应用程序尚未宣布自己知道高DPI,并且您的字体缩放比例为125%。

如果你想避免DPI虚拟化无论是高DPI感知选项添加到应用程序清单,或致电要么SetProcessDPIAwareSetProcessDPIAwareness

+1

'import ctypes' 'user32 = ctypes.windll.user32' 'user32.SetProcessDPIAware()'这是你的意思吗? – KobeJohn

+0

@Kobe是的,这将完成 –

+0

请注意'SetProcessDPIAware'已弃用。 –

相关问题