我有一些Python(2.7.13),代碼如下:的Python ctypes的鍵盤事件
import win32api, win32con, ctypes
ctypes.windll.user32.keybd_event(0xA5, 0, 0, 0) # Right Menu Key
ctypes.windll.user32.keybd_event(0x73, 0, 0, 0) # F4
ctypes.windll.user32.keybd_event(0x0D, 0, 0, 0) #Enter Key
每當我運行的代碼我的電腦蟲子,甚至在我關閉了Python。看起來總是按下按鍵,而不是按鍵。如果我手動按alt鍵,則停止。
另一件事是,這段代碼是爲了關閉shell。它只適用於右菜單鍵碼而不是ALT鍵碼和左菜單鍵碼。 (我知道有其他的方法來關閉shell,但這一關的東西)
這裏是我想知道:
- 爲什麼這按住ALT 關鍵?
- 如何在代碼中阻止此操作?
- 爲什麼這不適用於alt鍵碼或左鍵菜單鍵碼?
在此先感謝任何有幫助的人。
通過僞造輸入來自動化應用程序是一個壞主意。您應該使用自動化接口([UI Automation](https://msdn.microsoft.com/en-us/library/windows/desktop/ee684009.aspx))。對於您的實際問題:您從不注入按鍵事件,因此係統會假定按下了[Alt]鍵。這是可以預料的。 – IInspectable
@IInspectable感謝您的幫助,但我如何按照您的說法添加按鍵事件。 – Sank6
通過將KEYEVENTF_KEYUP標誌傳遞給[keybd_event](https://msdn.microsoft.com/en-us/library/windows/desktop/ms646304.aspx)。 – IInspectable