下载: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()