pythonhook监控键盘鼠标

下载: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()
相关文章
相关标签/搜索