【发布时间】:2013-04-03 02:11:40
【问题描述】:
我的应用程序使用win32api.mouse_event 将鼠标点击发送到我的控制台窗口之外的屏幕区域。这会导致我的窗口失去焦点,因此我无法使用 msvcrt.kbhit. 检测按键
我的问题是,如何在控制台窗口不可见/不活动的情况下实现这样的功能?
编辑:
这里是示例代码。这只是一个基本的控制台版本。如果控制台消失,请将其设置为保持在顶部。一旦它在控制台外(100,100)单击,按 Esc 键将不会跳出循环。对于这样的问题,如何实现中断?
import msvcrt, win32api, win32con
pixelx = 100
pixely = 100
win32api.SetCursorPos((pixelx,pixely))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,pixelx,pixely,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,pixelx,pixely,0,0)
while 1:
print 'Testing..'
# body of the loop ...
if msvcrt.kbhit():
if ord(msvcrt.getch()) == 27:
break
【问题讨论】:
-
显示您的代码。没有看到它,我们无法猜测它有什么问题。
-
我们走了,很抱歉:/