我在Windows 8.1中运行此代码:
import ctypes, time
ctypes.windll.user32.keybd_event(0x12, 0, 0, 0) #Alt
ctypes.windll.user32.keybd_event(0x09, 0, 0, 0) #Tab
time.sleep(2)
ctypes.windll.user32.keybd_event(0x09, 0, 2, 0) #~Tab
ctypes.windll.user32.keybd_event(0x12, 0, 2, 0) #~Alt
我希望这段代码模拟按住Alt键,按住Tab键,等待2秒,释放Tab键,然后释放Alt键,但它不起作用。代码无法按住键,只需按下(按下并释放)键即可。
我之前和之前都试过这个代码,但是在Windows 8.1中没有。我该怎么办?
答案 0 :(得分:0)
这样可行,但你必须在alt和tab之间有一个延迟。
from time import sleep
import ctypes
user32 = ctypes.windll.user32
user32.keybd_event(0x12, 0, 0, 0) #Alt
sleep(1)
user32.keybd_event(0x09, 0, 0, 0) #Tab
sleep(1)
user32.keybd_event(0x09, 0, 2, 0) #~Tab
sleep(0.1)
user32.keybd_event(0x12, 0, 2, 0) #~Alt
应该工作。
答案 1 :(得分:0)
这是一个稍微严格的alt-tab方法。
import pyautogui,time
pyautogui.keyDown('alt')
time.sleep(.2)
pyautogui.press('tab')
time.sleep(2)
pyautogui.keyUp('alt')
重复 pyautogui.press('tab') 表示您要移过的次数,并且如userNo99所述,您需要添加一些时间。sleep(.5)在操作之间产生延迟。