我有一些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