rec*_*gle 1 python winapi key-bindings
我正在尝试使用win32api通过特定的按键来打破Python中的循环.怎么会这样呢?
win32api.KeyPress('H')的实际版本是什么,在下面的代码中?
修订:
import win32api
while True :
cp = win32api.GetCursorPos()
print cp
if win32api.KeyPress('H') == True :
break
Run Code Online (Sandbox Code Playgroud)
我希望能够通过按h键来打破循环.
编辑:
我正在尝试制作一个反复报告鼠标位置的程序,我需要一种机制来退出所述程序.
查看修订后的代码
gim*_*mel 11
win32api只是底层Windows低级库的接口.看GetAsyncKeyState功能:
确定在调用函数时键是向上还是向下,以及在上次调用GetAsyncKeyState之后是否按下了键.
句法
SHORT WINAPI GetAsyncKeyState(
__in int vKey
);
Run Code Online (Sandbox Code Playgroud)
回报价值
类型:
SHORT如果函数成功,则返回值指定自上次调用GetAsyncKeyState以来是否按下了键,以及该键当前是向上还是向下.如果设置了最高有效位,则键为关闭,如果设置了最低有效位,则在上一次调用GetAsyncKeyState之后按下该键.
请注意,返回值是位编码的(不是a 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
Run Code Online (Sandbox Code Playgroud)
简单字母的虚拟键常量是ASCII码,因此测试"H"键(按下键)的状态将如下所示:
>>> win32api.GetAsyncKeyState(ord('H'))
1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18037 次 |
| 最近记录: |