我正在一個項目中,我想使用python自動化一個GUI,但我試圖自動化的Windows程序不響應pyautogui鼠標點擊。這個應用程序的公司有可能故意阻止Windows API事件嗎?應用程序不響應Windows API事件?
的特定程序我試圖自動化是Blackbaud的雷塞的邊緣。
我在問,因爲我正計劃用樹莓派修改鼠標來控制鼠標點擊,然後如果沒有其他解決此問題的計算機從我的計算機上進行SSH連接。
我正在一個項目中,我想使用python自動化一個GUI,但我試圖自動化的Windows程序不響應pyautogui鼠標點擊。這個應用程序的公司有可能故意阻止Windows API事件嗎?應用程序不響應Windows API事件?
的特定程序我試圖自動化是Blackbaud的雷塞的邊緣。
我在問,因爲我正計劃用樹莓派修改鼠標來控制鼠標點擊,然後如果沒有其他解決此問題的計算機從我的計算機上進行SSH連接。
的Windows 10取得了本更加困難。如果您嘗試自動化的應用程序以Admin身份運行,則無法使用以普通用戶身份運行的程序來控制它。
嘗試運行你的Python程序作爲管理員。
但是,是的,這是可能的方案,以真正的鼠標事件和模擬的人區別開來。如果這是一個高度敏感的程序,他們可能會有。或者,如果是視頻遊戲,他們可能直接輪詢硬件並忽略Windows消息。
編輯:另外,許多應用程序需要的不僅僅是一個「點擊」消息的更多。他們想要mouseenter/mousemove/mousedown/mouseup。如果您沒有發送所有這些消息,它將不會作爲「點擊」激活。 pyautogui.click應該正確地模擬它,但是如果您嘗試使用該應用並查看它是如何響應的(單擊鼠標而沒有發佈,會發生什麼?),您可能可以改進模擬。也許在pyautogui.mouseDown()和pyautogui.mouseUp()之間放一段延遲。
但我的預感是應用程序正在運行作爲不同的用戶比python腳本。
太棒了,你給了我一些東西去測試!我會回來讓你知道我發現了什麼 –