KeymouseGo
KeymouseGo copied to clipboard
其实这个key mouse库不是很好, 用pyautogui结合pydirectinput这两个库的鼠标键盘功能会更好用
pyautogui 可供普通情况的使用 pydirectinput 可以在例如游戏的场景中正常使用鼠标键盘功能
仔细看了源代码,发现作者在linux下用的是pyautogui, 在windows下用的是win32api, 不是很明白其实windows下用pydirectinput有什么问题吗? 因为游戏场景中,pydirectinput会更实用。
没问题,可以换,虽然说对于有反作弊系统的游戏来说用哪个库都一样。
pydirectinput
就我测试的情况来看 有个问题我没想通 我在windows上测试 游戏里面我使用pyautogui与pydirectinput去模拟按键都不行 如果作者是使用这两个库来模拟按键的话 按道理应该也不行 但是我用录制的点击游戏画面的时候 却能执行成功 这让我有点费解?
pydirectinput
就我测试的情况来看 有个问题我没想通 我在windows上测试 游戏里面我使用pyautogui与pydirectinput去模拟按键都不行 如果作者是使用这两个库来模拟按键的话 按道理应该也不行 但是我用录制的点击游戏画面的时候 却能执行成功 这让我有点费解?
你测试作者的程序在游戏中能用吗? 作者代码里面Linux用的是pyautogui,Windows下用的是win32api,不过我测试QQ飞车是用不了。不过我不是很明白为什么Windows下没有选择用pydirectinput,不知道是不是代码在定位像素点或者其他方面遇到有问题。但是我自己写的windows下用pydirectinput在游戏中是可以使用,前提是你执行的时候要用管理员运行程序就没问题。所以你可以试试管理员权限运行,pydirectinput这个库应该是没问题的。
你测试作者的程序在游戏中能用吗? 作者代码里面Linux用的是pyautogui,Windows下用的是win32api,不过我测试QQ飞车是用不了。不过我不是很明白为什么Windows下没有选择用pydirectinput,不知道是不是代码在定位像素点或者其他方面遇到有问题。但是我自己写的windows下用pydirectinput在游戏中是可以使用,前提是你执行的时候要用管理员运行程序就没问题。所以你可以试试管理员权限运行,pydirectinput这个库应该是没问题的。
其实算是历史遗留问题,这个项目本身最开始就是为了方便作者在 windows 上面做重复操作才做的(大概),而且不是为了游戏做的 https://github.com/taojy123/KeymouseGo/issues/121#issuecomment-1149585054 https://github.com/taojy123/KeymouseGo/issues/156#issuecomment-1252552152 ,至于适配 linux 是后面才做的
pydirectinput
就我测试的情况来看 有个问题我没想通 我在windows上测试 游戏里面我使用pyautogui与pydirectinput去模拟按键都不行 如果作者是使用这两个库来模拟按键的话 按道理应该也不行 但是我用录制的点击游戏画面的时候 却能执行成功 这让我有点费解?
你测试作者的程序在游戏中能用吗? 作者代码里面Linux用的是pyautogui,Windows下用的是win32api,不过我测试QQ飞车是用不了。不过我不是很明白为什么Windows下没有选择用pydirectinput,不知道是不是代码在定位像素点或者其他方面遇到有问题。但是我自己写的windows下用pydirectinput在游戏中是可以使用,前提是你执行的时候要用管理员运行程序就没问题。所以你可以试试管理员权限运行,pydirectinput这个库应该是没问题的。
我特意对我的游戏再次测试 开启录制 - 鼠标点击游戏画面任务进行移动 - 结束录制 然后我启动脚本 确实能够正常执行 pyautogui和pydirectinput我都测试过不行 是以管理员身份运行的 可能他们底层都有基于win32api去调用发送消息 然而对于按键 我测试的游戏是应该是屏蔽了这种窗口消息 但是我找到另外其他方式 凡是以驱动级按键去调用点击都能成功,所以我比较疑惑的点 作者的这个库按键真的不是驱动级的吗 希望作者可以看到解答一下疑惑。
pyautogui和pydirectinput我都测试过不行
奇怪,PyAutoGUI
,PyDirectInput
和PyWin32
在Windows系统下底层都是通过调用系统api实现操作的吧,下面是我找到的一些资料:
Windows相关的接口为mouse_event, SendInput, keybd_event
PyAutoGUI和PyDirectInput分别使用了cpython
的ctypes
库给出的mouse_event, keybd_event
和SendInput
系统接口
PyWin32使用了mouse_event, keybd_event
系统接口
pyautogui和pydirectinput我都测试过不行
奇怪,
PyAutoGUI
,PyDirectInput
和PyWin32
在Windows系统下底层都是通过调用系统api实现操作的吧,下面是我找到的一些资料:Windows相关的接口为mouse_event, SendInput, keybd_event PyAutoGUI和PyDirectInput分别使用了
cpython
的ctypes
库给出的mouse_event, keybd_event
和SendInput
系统接口 PyWin32使用了mouse_event, keybd_event
系统接口
应该没错 windows平台下都是调用系统api实现 我测试的游戏 我发现只是对鼠标屏蔽 部分按键还是可以用 鼠标则当使用驱动级的调用就没问题