У меня win10, я установил pywin32 и установил pyhook в моей среде anaconda3.
Моя цель - записывать действия пользователей мыши и клавиатуры. Поэтому у меня есть pyhookWrap.py и тестовые коды следующим образом. Когда запускаются тестовые коды, я всегда получаю сообщение о перезапуске ядра, особенно когда быстро двигаю мышь. Кто-нибудь может дать мне подсказку, как избежать сообщения перезагрузки ядра?
На самом деле я использовал pyhk.py для замены pyhookWrap.py, но у меня появилось то же раздражающее сообщение. Я приложил pyhookWrap.py и тестовые коды ниже.
/ 1. сообщение примечание изображение /
/ 2 / pyhookWrap.py
#!/usr/bin/python
import pyHook, pythoncom
class pyhookWrap:
"""Hotkey class extending pyhook"""
def __init__(self):
# create a hook manager
self.hm = pyHook.HookManager()
# watch for all keyboard events
self.hm.KeyDown = self.OnKeyDown
# watch for all mouse events
self.hm.MouseAllButtonsDown = self.OnKeyDown
# set the hook
self.hm.HookKeyboard()
self.hm.HookMouse()
def start(self):
"""Start pyhk to check for hotkeys"""
pythoncom.PumpMessages()
# -----------------------------------------------------
# print mouse event, added by sjj
def printMouseEvent(self,event):
# called when mouse events are received
print('MessageName:',event.MessageName)
print('Message:',event.Message)
print('Time:',event.Time)
print('Window:',event.Window)
print('WindowName:',event.WindowName)
print('Position:',event.Position)
print('Wheel:',event.Wheel)
print('Injected:',event.Injected)
print('---')
def printKeyboardEvent(self,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 ('---')
def OnKeyDown(self, event):
if not "mouse" in event.MessageName:
self.printKeyboardEvent(event)
else:
self.printMouseEvent(event)
return True
/ 3 / Тестовые коды для pyhookWrap:
import pyhookWrap
hot = pyhookWrap.pyhookWrap()
# start looking for hotkey.
hot.start()