错误的光标移动win32api

问题描述 投票:-1回答:1

我试图用win32api移动我的光标。我需要移动到mid_x和mid_y点,知道我当前的光标位置(x,y)。

x, y = win32api.GetCursorPos()

然后,我发现我应该移动多少。

dx = int(mid_x -x)
dy= int(mid_y - y)

最后,我移动光标!

win32api.mouse_event(0x0001, dx,dy, 0, 0)

最后,我的鼠标向错误的方向移动。我读了一篇c ++文档,发现dx和dy应该是mickey value。这意味着什么?如何将其更改为像素?

python winapi
1个回答
0
投票
//get the Screen resolution.
scalex = win32api.GetSystemMetrics(win32con.SM_CXSCREEN);
scaley = win32api.GetSystemMetrics(win32con.SM_CYSCREEN);

//get the scale(a screen has 65535*65535 mickey value)
scalex = 65535 / scalex;
scaley = 65535 / scaley;

win32api.mouse_event(0x8000 | 0x0001, dx* scalex, dy* scaley, 0, 0);
© www.soinside.com 2019 - 2024. All rights reserved.