程序可防止鼠标移动

时间:2014-11-29 00:20:36

标签: python winapi python-3.x

我有一个游戏的点击机器人,并且暂时没有使用它。 我安装了新的(可能有一个新版本),我的机器人不再工作了。当游戏被激活时,事件似乎被某种方式阻止了。

我用这个激活游戏:

shell=win32com.client.Dispatch("Wscript.Shell")
success = shell.AppActivate("Game)

我尝试了两种移动鼠标的方法:

win32api.SetCursorPos((x,y)) 

这给了我这个错误。

pywintypes.error: (0, 'SetCursorPos', 'No error message is available')

另一种方法是:

nx = int(x*65535/win32api.GetSystemMetrics(0))
ny = int(y*65535/win32api.GetSystemMetrics(1))
win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE|win32con.MOUSEEVENTF_MOVE,nx,ny)

哪个不起作用,并没有给我一个错误信息。

当游戏窗口未激活时,光标移动没有问题。

有人知道解决方法吗?

编辑:我使用的是Microsoft Windows 8.1

2 个答案:

答案 0 :(得分:5)

我尝试了ctypes并且有效:

ctypes.windll.user32.SetCursorPos(x, y)

答案 1 :(得分:1)

不要刻意挖掘旧线程,但我遇到了这个问题。尝试以管理员身份运行脚本,这样如果您在CMD中运行,请确保以管理员身份打开它。它对我有用,非常简单。我使用的是python和windows 10。