Win32api:按住键
Win32api: Press and Hold key
我正在寻找一种方法来按下一个键并按住它特定的时间。我试过:
# Method 1
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys
# Method 2
win32api.SendMessage
# Method 3
win32api.keybd_event
所有这些方法,似乎只按一次键。我需要按住键。
我查看了这些资源:python simulate keydown (SO), win32api.keybd_event, press-and-hold-with-pywin32 (SO), simulate-a-hold-keydown-event-using-pywin32 (SO), Vitual keystroke (Github)
如果你可以使用 PyAutoGUI,这就可以了:
import pyautogui
import time
def hold_key(key, hold_time):
start = time.time()
while time.time() - start < hold_time:
pyautogui.keyDown(key)
hold_key('a', 5)
它会持续按下 'a' 键 5 秒。
我正在寻找一种方法来按下一个键并按住它特定的时间。我试过:
# Method 1
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys
# Method 2
win32api.SendMessage
# Method 3
win32api.keybd_event
所有这些方法,似乎只按一次键。我需要按住键。
我查看了这些资源:python simulate keydown (SO), win32api.keybd_event, press-and-hold-with-pywin32 (SO), simulate-a-hold-keydown-event-using-pywin32 (SO), Vitual keystroke (Github)
如果你可以使用 PyAutoGUI,这就可以了:
import pyautogui
import time
def hold_key(key, hold_time):
start = time.time()
while time.time() - start < hold_time:
pyautogui.keyDown(key)
hold_key('a', 5)
它会持续按下 'a' 键 5 秒。