我正在尝试使用 win32api 通过特定的按键来中断 Python 中的循环。怎么办呢?
以下代码中 win32api.KeyPress('H') 的实际版本是什么?
修订:
import win32api
while True :
cp = win32api.GetCursorPos()
print cp
if win32api.KeyPress('H') == True :
break
我希望能够通过按 h 键来打破循环。
编辑:
我正在尝试制作一个重复报告鼠标位置的程序,我需要一种机制来退出该程序。
请参阅修订后的代码。
最佳答案
win32api
只是底层 windows 低级库的接口(interface)。
查看 GetAsyncKeyState
Function :
SHORT WINAPI GetAsyncKeyState(
__in int vKey
);
请注意,返回值是位编码的(不是
boolean
)。要获得
vKey
值,应用程序可以使用 win32con
模块中的虚拟键代码常量。例如,测试“CAPS LOCK”键:
>>> import win32api
>>> import win32con
>>> win32con.VK_CAPITAL
20
>>> win32api.GetAsyncKeyState(win32con.VK_CAPITAL)
0
>>> win32api.GetAsyncKeyState(win32con.VK_CAPITAL)
1
简单字母的虚拟键常量是 ASCII 码,
以便测试“H”键(键被按下)的状态将如下所示:
>>> win32api.GetAsyncKeyState(ord('H'))
1
关于python - 在 Python 中使用 win32api 检测按键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5592500/