我有一个游戏的点击机器人,并且暂时没有使用它。 我安装了新的(可能有一个新版本),我的机器人不再工作了。当游戏被激活时,事件似乎被某种方式阻止了。
我用这个激活游戏:
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
答案 0 :(得分:5)
我尝试了ctypes并且有效:
ctypes.windll.user32.SetCursorPos(x, y)
答案 1 :(得分:1)
不要刻意挖掘旧线程,但我遇到了这个问题。尝试以管理员身份运行脚本,这样如果您在CMD中运行,请确保以管理员身份打开它。它对我有用,非常简单。我使用的是python和windows 10。