模拟ALT + TAB在Python
问题描述:
我在Windows 8.1运行此代码:模拟ALT + TAB在Python
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中并没有这样做。我能做什么?
答
这是有效的,但你必须在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
应该工作。
我假设最后一行中的“2”只是一个复制粘贴错误,对吗?否则,我可以确认这在Windows 7上适用于它的价值。 – DeepSpace
是的。这是一个复制粘贴错误。 –