5

私のキーボードには、さまざまな非標準のキーボードタスク用のボタンの列が含まれています。これらのキーには、音量の変更、再生または一時停止、トラックのスキップなどの機能が含まれています。Pythonで基本的な再生/一時停止をシミュレートするにはどうすればよいですか?ちなみに、私はWindowsを使用しています。

4

3 に答える 3

7

pywin32を使用します。インストールには、多数のAPIドキュメント(通常はのような場所に配置されますC:\Python32\Lib\site-packages)がバンドルされています。これは、基本的に、Windowsの多くの低レベルタスクに使用されるWin32ライブラリに多くのものをラップします。

インストール後、 keybd_eventのラッパーを使用できます。

SendInput代わりに使用することもできますがkeybd_event、PyWin32でラップされていないようです。SendMessageオプションですが、より面倒です。

char-to-codeマッピング関数がここで役立つとは思えないので、これらの特別なボタンの仮想スキャンコードを調べる必要があります。ここでリファレンスを見つけることができます。

次に、関数を呼び出すだけです。以下のスニペットは、私のコンピューターでチャックベリーを一時停止します。

>>> 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(または、より可能性が高いのはキーボードドライバー)を提供します。

これらはすべてキーボードドライバーによってスナップアップされるため、キーストロークが送信される場所を実際に制御することはできません。あなたSendMessageはそれらを特定のウィンドウに送ることができます。メディアキーは音楽プレーヤーなどによって傍受されるため、通常は問題になりません。

于 2012-05-04T00:52:59.637 に答える
0

これは、最近のすべての更新プログラムがインストールされているWindows1064では機能しませんでした。動作する前にこれ(3番目のパラメーター2)が必要でした。

win32api.keybd_event(0xB3,0,2,0)

なぜそれが機能するのかをわざわざ調べませんでしたが、これや他の同様の投稿が何らかの理由で私のPCで機能しないので私を苛立たせたので、それをそこに捨てました。

これにより、PCでAmazonMusicが正常に一時停止/再生されました。

于 2018-09-28T15:30:49.827 に答える
0

を使用できますpyautogui。このライブラリには、多くのキーボードとマウスのシミュレーションが含まれています。pip install pyautoguicmdで実行をインストールするには。

再生/一時停止のキー押下をシミュレートするには、を使用する必要がありますpyautogui.press("playpause")

https://pyautogui.readthedocs.io/en/latest/keyboard.htmlでドキュメントをチェックして、サポートされているキーとその他のキーボード機能のリストを確認してください。

于 2020-08-27T13:09:40.613 に答える