文档章节

pythonhook监控键盘鼠标

彼得
 彼得
发布于 2014/03/27 22:25
字数 314
阅读 2026
收藏 1

下载:

python:

http://nchc.dl.sourceforge.net/project/pywin32/pywin32/Build%20218/pywin32-218.win32-py2.7.exe

pywin32(for pythoncom):

http://www.lfd.uci.edu/~gohlke/pythonlibs/58fkby3j/pywin32-218.5.win-amd64-py2.7.exe

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()


本文转载自:http://oldj.net/article/python-hook/

彼得

彼得

粉丝 39
博文 122
码字总数 38726
作品 0
深圳
程序员
私信 提问
python实时监控键盘鼠标,pynput库的详细用法

前言 本节为你详细介绍python的第三方库pynput监控鼠标键盘的用法,该库允许您控制和监视输入设备。目前,支持鼠标和键盘输入和监视。 对于每一种输入设备,它包含一个子包来控制和监控该种输...

Python学习1
04/30
243
0
VSTO Office二次开发键盘鼠标钩子使用整理

VSTO Office二次开发键盘鼠标钩子使用整理 可能通过程序控制键盘的操作和控制鼠标的一些操作,网上提供比较多的也是比较好的就是通过钩子(Hook)的方式实现。 简单整理了一下,没有找到很好的...

技术mix呢
2017/10/18
0
0
用Python监听邻居家小姐姐的上网行为

关注公众号:「Python专栏」,后台回复「小姐姐」,获取全套代码!!! 还记得曾经为了刷大话西游而下载了按键精灵,然后论坛上搜了各种分辨率的脚本么? 还记得春节为了刷回家的高铁票,自己...

上海小胖
03/14
51
0
神技能:Python控制键盘鼠标

这个库让你可以控制和监控输入设备。 对于每一种输入设备,它包含一个子包来控制和监控该种输入设备: pynput.mouse:包含控制和监控鼠标或者触摸板的类。 pynput.keyboard:包含控制和监控键...

急速奔跑中的蜗牛
06/08
0
0
科幻终端模拟器 - eDEX-UI

eDEX-UI 是一个全屏且跨平台、可定制的终端模拟器,具有先进的监控和触摸屏支持。它的外观类似科幻的计算机界面。在保持未来感的外观和感觉的同时,它努力保持一定的功能水平并可用于现实场景...

匿名
04/26
21.1K
22

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
687
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
39
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
25
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
74
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
72
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部