我会用pywin32.与安装捆绑在一起的是大量的API文档(通常放在类似的地方C:\Python32\Lib\site-packages.)它基本上包含了很多东西,在Win32库中用于Windows中的许多低级任务.
安装后,您可以使用keybd_event的包装器.
您也可以使用SendInput而不是keybd_event但它似乎不被PyWin32包装.SendMessage也是一种选择,但更麻烦.
您需要查找这些特殊按钮的虚拟扫描代码,因为我怀疑char-to-code映射功能会对您有所帮助.你可以在这里找到参考.
然后调用函数是一件简单的事情.下面的片段在我的电脑上暂停了Chuck Berry.
>>> import win32api
>>> VK_MEDIA_PLAY_PAUSE = 0xB3
>>> hwcode = win32api.MapVirtualKey(VK_MEDIA_PLAY_PAUSE, 0)
>>> hwcode
34
>>> win32api.keybd_event(VK_MEDIA_PLAY_PAUSE, hwcode)
Run Code Online (Sandbox Code Playgroud)
MapVirtualKey为我们提供了keybd_event需要(或更可能是键盘驱动程序)的硬件扫描代码.
请注意,所有这些都是由键盘驱动程序捕获的,因此您实际上无法控制发送击键的位置.有了SendMessage你可以将它们发送到特定的窗口.它通常与媒体密钥无关,因为它们被音乐播放器等拦截.
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |