1. 程式人生 > >python hook監聽事件

python hook監聽事件

art alt gen 技術分享 mar text event 失去 ascii

python hook監聽事件

作者:vpoet

日期:夏季

# -*- coding: utf-8 -*- # 
# by oldj http://oldj.net/ #
import pythoncom 
import pyHook    
def onMouseEvent(event): 
   # 監聽鼠標事件     
   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"---"
  
   # 返回 True 以便將事件傳給其他處理程序     
   # 註意。這兒假設返回 False ,則鼠標事件將被全部攔截     
   # 也就是說你的鼠標看起來會僵在那兒。似乎失去響應了     
   return True
 
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 

def main():     
   # 創建一個“鉤子”管理對象     
   hm = pyHook.HookManager()      
   # 監聽全部鍵盤事件     
   hm.KeyDown = onKeyboardEvent     
   # 設置鍵盤“鉤子”     
   hm.HookKeyboard()      
   # 監聽全部鼠標事件     
   hm.MouseAll = onMouseEvent     
   # 設置鼠標“鉤子”     
   hm.HookMouse()      
   # 進入循環。如不手動關閉,程序將一直處於監聽狀態     
   pythoncom.PumpMessages() 

if __name__ == "__main__":     
   main()



執行截圖:

技術分享

python hook監聽事件