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()
相關文章
相關標籤/搜索