Скрипт Pyhook не работает в Службе Python windows.
Я реализовал скрипт, использующий pyhook для отслеживания событий мыши и клавиатуры, и вызывая его из службы python windows, он не вызывает OnMouseEvent1 и OnKeyboardEvent, но для нормального выполнения и во время отладки службы работает нормально.
может ли кто-нибудь помочь мне разобраться в этой проблеме?
ниже приведен мой код.
import pythoncom,pyHook , sys import datetime import win32api import ctypes last_event = '' def info(idle_time) : try : fo = open("testschd.txt", "a+") except : fo = open("testschd.txt", "wb") fo.write(str(idle_time)) def OnMouseEvent1(event) : global last_event if last_event : before = (datetime.datetime.now() - last_event) print before.seconds if before.seconds > 60 : info(before.seconds) last_event = datetime.datetime.now() return True def OnKeyboardEvent(event) : global last_event if last_event : before = (datetime.datetime.now() - last_event) if before.seconds > 60 : info(before.seconds) last_event = datetime.datetime.now() return True def test() : hm = pyHook.HookManager() hm.KeyDown = OnKeyboardEvent hm.SubscribeMouseAllButtonsDown(OnMouseEvent1) hm.MouseDown = OnMouseEvent1 hm.HookKeyboard() hm.HookMouse() pythoncom.PumpMessages()
Что я уже пробовал:
В приведенном выше скрипте я вызываю метод test () из службы python windows service(служба реализована с помощью python).