下載:python
python:函數
http://nchc.dl.sourceforge.net/project/pywin32/pywin32/Build%20218/pywin32-218.win32-py2.7.exeui
pywin32(for pythoncom):.net
http://www.lfd.uci.edu/~gohlke/pythonlibs/58fkby3j/pywin32-218.5.win-amd64-py2.7.exe code
pyHook對象
http://nchc.dl.sourceforge.net/project/pyhook/pyhook/1.5.1/pyHook-1.5.1.win32-py2.7.exe 事件
# d:/Python27/python.exe # -*- 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(10000) if __name__ == "__main__": main()