我正在开发一个项目,我想使用 python 自动化 GUI,但是我尝试自动化的 Windows 程序不响应 pyautogui 鼠标点击。制作此应用程序的公司是否有可能故意阻止 Windows API 事件?
我试图自动化的特定程序是 Blackbaud 的 Raiser's Edge。
我之所以这么问,是因为我计划用树莓派改装鼠标来控制鼠标点击,然后如果没有其他解决方法可以解决此问题,则可以从我的计算机通过 SSH 连接到它。
Windows 10 使这变得更加困难。如果您尝试自动化的应用程序以管理员身份运行,则您无法使用以普通用户身份运行的程序来控制它。
尝试以管理员身份运行 python 程序。
但是,是的,程序可以区分真实的鼠标事件和模拟的鼠标事件。如果这是一个高度敏感的程序,他们可能有。或者,如果是视频游戏,他们可能只是直接轮询硬件并忽略 Windows 消息。
编辑:此外,许多应用程序需要的不仅仅是“单击”消息。他们想要 mouseenter/mousemove/mousedown/mouseup。如果您没有发送所有这些消息,则不会将其激活为“点击”。 pyautogui.click 应该正确地模拟它,但是如果您尝试该应用程序并查看它的响应方式(单击鼠标而不释放,会发生什么?)您也许能够改进模拟。也许在 pyautogui.mouseDown() 和 pyautogui.mouseUp() 之间放置一个延迟。
但我的预感是该应用程序以与 python 脚本不同的用户身份运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)