У меня есть программа Python, которая отправляет нажатия клавиш в другое приложение с помощью SendKeys. Однако некоторые нажатия клавиш должны быть отправлены в приложение после того, как оно выполнит некоторую обработку (которая занимает неизвестное количество времени). До сих пор мне приходилось сообщать приложению Python, что обработка завершена, нажав Alt+Tabbing обратно в окно DOS и нажав Enter. Я хотел бы иметь комбинацию клавиш (Shift + F1 или что-то в этом роде), которую я могу нажать в принимающем приложении, которая сигнализирует программе Python о продолжении без необходимости переключаться обратно в окно DOS. Как мне сделать так, чтобы я мог обнаруживать нажатия клавиш в Python, даже если фокус находится в другом окне?
Python обнаруживает нажатия клавиш, отправленные в другое приложение
Ответы (1)
Взгляните на pyHook.
Это позволяет подключать клавиатуру:
import pythoncom, pyHook
def OnKeyboardEvent(event):
print 'MessageName:',event.MessageName
print 'Message:',event.Message
print 'Time:',event.Time
print 'Window:',event.Window
print 'WindowName:',event.WindowName
print 'Ascii:', event.Ascii, chr(event.Ascii)
print 'Key:', event.Key
print 'KeyID:', event.KeyID
print 'ScanCode:', event.ScanCode
print 'Extended:', event.Extended
print 'Injected:', event.Injected
print 'Alt', event.Alt
print 'Transition', event.Transition
print '---'
# return True to pass the event to other handlers
return True
# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()
person
jbochi
schedule
20.01.2010