# -*- coding: utf-8 -*- # |
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() |