我正在尝试使用 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/

10-12 05:14