Member 12638701 Ответов: 0

Скрипт 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).

0 Ответов