
概要:
Python でキーボード イベントを生成すると、プログラムで次のことを実行できます。コンピュータ上のユーザー入力アクション。これにより、キーストロークの自動化が可能になり、アプリケーションやオペレーティング システムとの自然なユーザー操作をシミュレートできます。
ctypes を使用したアプローチ:
Python でキーボード イベントを生成するには、 Windows API と対話するための ctypes モジュール。次の実装は、これを実現する方法を示しています:
<code class="python">import ctypes
from ctypes import wintypes
import time
user32 = ctypes.WinDLL('user32', use_last_error=True)</code>データ構造:
キーボード イベント構造を定義するには、KEYBDINPUT 構造体を使用します:
<code class="python">class KEYBDINPUT(ctypes.Structure):
_fields_ = (("wVk", wintypes.WORD),
("wScan", wintypes.WORD),
("dwFlags", wintypes.DWORD),
("time", wintypes.DWORD),
("dwExtraInfo", wintypes.ULONG_PTR))</code>関数:
PressKey(hexKeyCode):
<code class="python">def PressKey(hexKeyCode):
x = INPUT(type=INPUT_KEYBOARD,
ki=KEYBDINPUT(wVk=hexKeyCode))
user32.SendInput(1, ctypes.byref(x), ctypes.sizeof(x))</code>ReleaseKey(hexKeyCode):
<code class="python">def ReleaseKey(hexKeyCode):
x = INPUT(type=INPUT_KEYBOARD,
ki=KEYBDINPUT(wVk=hexKeyCode,
dwFlags=KEYEVENTF_KEYUP))
user32.SendInput(1, ctypes.byref(x), ctypes.sizeof(x))</code>AltTab():
<code class="python">def AltTab():
"""Press Alt+Tab and hold Alt key for 2 seconds
in order to see the overlay.
"""
PressKey(VK_MENU) # Alt
PressKey(VK_TAB) # Tab
ReleaseKey(VK_TAB) # Tab~
time.sleep(2)
ReleaseKey(VK_MENU) # Alt~</code>hexKeyCode は仮想キー マッピングに対応する必要があることに注意してください。 Windows API によって定義されています。
使用例:
<code class="python">if __name__ == "__main__":
AltTab()</code>このアプローチを使用すると、Python スクリプトでさまざまなキーボード イベントをプログラム的に生成し、自動化を有効にすることができます。キーストロークとユーザー操作の詳細。
以上がctypes モジュールを使用して、Python でユーザーのキーボードのキーストロークをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。