【发布时间】:2015-10-29 19:39:58
【问题描述】:
我编写了一个小函数,它获取鼠标光标的当前位置并将其打印到命令行。但是,我还希望能够在任何时候按下一个键,它将运行一个功能。但是,如果没有按键,我希望它继续运行该功能并打印鼠标的位置...
鼠标位置代码:
while True :
x, y = win32api.GetCursorPos()
data = (str(x) + " " + str(y))
print data
time.sleep(0.1)
我为按键添加的代码是这样的:
while True :
if msvcrt.getch() == "h" :
data = "h"
else :
x, y = win32api.GetCursorPos()
data = (str(x) + " " + str(y))
print data
time.sleep(0.1)
但是,这样做的问题是它要等到我按下一个键才能运行获取光标位置。当程序没有聚焦时,它也不会注册 h 的按键,这是必要的。
感谢您的帮助,
瑞恩。
【问题讨论】:
-
那么,您希望
h在您按下它的任何时候执行某些操作吗?你怎么能打字?我想如果那是你想要的,你需要register a hook。 -
@PeterWood 如果控制台没有焦点,挂钩会起作用吗?是的,当按下 h 时,我希望它运行一个函数,否则继续获取鼠标的位置