如何使用pywin32模拟HOLD keydown事件?

时间:2012-10-27 18:19:03

标签: python windows winapi automation

我试图让这段python代码在windows上运行:

import win32process, win32con, win32gui, win32api, time

HWND = win32gui.GetActiveWindow()
win32api.PostMessage(HWND, win32con.WM_KEYDOWN, win32con.VK_SPACE, 0)
time.sleep(6)
win32api.PostMessage(HWND, win32con.WM_KEYUP, win32con.VK_SPACE, 0)

它应该模拟某人按住空格键,但它不起作用,并且不提供任何类型的错误消息。我相信我可能会对HWND做错了,但我不确定是不是这样。我希望将事件发送到我选择的任何活动窗口。

你能帮忙吗?


使用ctypes和user32.keybd_event方法解决了我的问题。

ctypes.windll.user32.keybd_event(hexx[key], 0, 0, 0)      #Key is down
ctypes.windll.user32.keybd_event(hexx[key], 0, 0x0002, 0) #Key is up

0 个答案:

没有答案