问题描述
我正在尝试使用 win32api 通过特定的按键来中断 Python 中的循环.怎么办呢?
下面代码中win32api.KeyPress('H')的实际版本是什么?
修订:
导入win32api而真:cp = win32api.GetCursorPos()打印cp如果 win32api.KeyPress('H') == True :休息
我希望能够通过按 h 键来中断循环.
我正在尝试制作一个重复报告鼠标位置的程序,我需要一种机制来退出该程序.
查看修改后的代码.
win32api
只是 Windows 底层库的一个接口.请参阅 GetAsyncKeyState
函数:
确定在调用函数时某个键是向上还是向下,以及在上一次调用 GetAsyncKeyState 后是否按下了该键.
语法
SHORT WINAPI GetAsyncKeyState(__in int vKey);
返回值
类型:SHORT
如果函数成功,则返回值指定自上次调用 GetAsyncKeyState 以来是否按下了该键,以及该键当前是向上还是向下.如果设置了最高有效位,则键处于按下状态,如果设置了最低有效位,则在上一次调用 GetAsyncKeyState 后按下了键.
请注意,返回值是位编码的(不是 boolean
).要获取 vKey
值,应用程序可以使用 win32con
模块中的虚拟键代码常量.
例如,测试CAPS LOCK"键:
>>>导入 win32api>>>导入 win32con>>>win32con.VK_CAPITAL20>>>win32api.GetAsyncKeyState(win32con.VK_CAPITAL)0>>>win32api.GetAsyncKeyState(win32con.VK_CAPITAL)1简单字母的虚拟键常量是ASCII码,以便测试H"键(键被按下)的状态将如下所示:
>>>win32api.GetAsyncKeyState(ord('H'))1I'm trying to break a loop in Python with a specific key press using win32api. How would one go about this?
What is the actual version of win32api.KeyPress('H'), in the following code?
Revised:
import win32api
while True :
cp = win32api.GetCursorPos()
print cp
if win32api.KeyPress('H') == True :
break
I want to be able to break a loop by pressing the h key.
Edit:
I'm attempting to make a program that repeatedly reports mouse positions and I need a mechanism to exit said program.
See revised code.
win32api
is just an interface to the underlying windows low-level library.See the GetAsyncKeyState
Function:
SHORT WINAPI GetAsyncKeyState(
__in int vKey
);
Note that the return value is bit-encoded (not a boolean
).To get at vKey
values, an application can use the virtual-key code constants in the win32con
module.
For example, testing the "CAPS LOCK" key:
>>> import win32api
>>> import win32con
>>> win32con.VK_CAPITAL
20
>>> win32api.GetAsyncKeyState(win32con.VK_CAPITAL)
0
>>> win32api.GetAsyncKeyState(win32con.VK_CAPITAL)
1
The virtual-key constant for simple letters are ASCII codes,so that testing the state of the "H" key (key was pressed) will look like:
>>> win32api.GetAsyncKeyState(ord('H'))
1
这篇关于在 Python 中使用 win32api 检测按键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!