我的键盘包含用于执行各种非标准键盘任务的一行按钮。这些键包含诸如修改音量,播放或暂停以及跳过曲目等功能。如何使用Python模拟基本播放/暂停?顺便说一下,我在Windows上。
我会用pywin32。与安装捆绑在一起的是大量的API文档(通常放在C:\Python32\Lib\site- packages。),它实际上包装了Win32库中的许多内容,该库用于Windows中的许多低级任务。
C:\Python32\Lib\site- packages
安装后,您可以使用keybd_event的包装器。
您也可以使用SendInput代替,keybd_event但PyWin32似乎没有使用它。SendMessage也是一种选择,但比较麻烦。
SendInput
keybd_event
SendMessage
您需要查找这些特殊按钮的虚拟扫描代码,因为我怀疑字符到代码的映射功能会在这里为您提供帮助。您可以在此处找到参考。
然后,只需调用该函数即可。下面的代码段将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)
MapVirtualKey为我们提供了所需的硬件扫描代码keybd_event(或更可能是键盘驱动程序。)
MapVirtualKey
请注意,所有这些操作都由键盘驱动程序捕获,因此您实际上没有任何控制键发送到的位置。有了SendMessage你可以将它们发送到特定的窗口。媒体密钥通常无关紧要,因为它们会被音乐播放器等截获。