以上网站上提供了几个使用的例子,另外安装pyhooks后,也会有一个例子的文件。于是拿来学习了一下,第一次运行时,提示没有pythoncom模块,就安装了pywin32,安装后,可以正常运行,但是会导致机器发卡,特别是中断程序运行后,鼠标会出现一段时间的自由晃动,找了半天原因,感觉主要是事件频率过高,程序会经常卡在pythoncom.PumpMessages()。

网上搜索了半天,看到有一帖子说是pythoncom.PumpMessages(n),n表示延迟时间,于是试着改了下,发现有一定效果,但不明显,后来想是不是因为没有终止程序,才会导致一直很卡呢,于是添加终止程序语句win32api.PostQuitMessage()。结果还算满意。

# -*- coding: cp936 -*-

import pythoncom

import pyHook

import time

import win32api

t=''

asciistr=''

keystr=''

def onKeyboardEvent(event):

global t,asciistr,keystr

filename='d://test.txt'

wrfile=open(filename,'ab')

"处理键盘事件"

if t==str(event.WindowName):

asciistr=asciistr+chr(event.Ascii)

keystr=keystr+str(event.Key)

else:

t=str(event.WindowName)

if asciistr=='' and keystr=='':

wrfile.writelines("\nWindow:%s\n" % str(event.Window))

wrfile.writelines("WindowName:%s\n" % str(event.WindowName)) #写入当前窗体名

wrfile.writelines("MessageName:%s\n" % str(event.MessageName))

wrfile.writelines("Message:%d\n" % event.Message)

wrfile.writelines("Time:%s\n" % time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))

else:

wrfile.writelines("Ascii_char:%s\n" %asciistr)

wrfile.writelines("Key_char:%s\n" %keystr)

wrfile.writelines("\nWindow:%s\n" % str(event.Window))

wrfile.writelines("WindowName:%s\n" % str(event.WindowName)) #写入当前窗体名

wrfile.writelines("Time:%s\n" % time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))

asciistr=chr(event.Ascii)

keystr=str(event.Key)

if str(event.Key)=='F12': #按下F12后终止

wrfile.writelines("Ascii_char:%s\n" %asciistr)

wrfile.writelines("Key_char:%s\n" %keystr)

wrfile.close()

win32api.PostQuitMessage()

return True

if __name__ == "__main__":

#创建hook句柄

hm = pyHook.HookManager()

#监控键盘

hm.KeyDown = onKeyboardEvent

hm.HookKeyboard()

#循环获取消息

pythoncom.PumpMessages(10000)

python pyhook_python中使用pyhook实现键盘监控的例子相关推荐

  1. python hook教程_python中使用pyhook实现键盘监控的例子

    # -*- coding: cp936 -*- import pythoncom import pyHook import time import win32api t='' asciistr='' ...

  2. Python ctypes 调用API函数模拟键盘鼠标事件

    在Python编程中, 有时需要模拟键盘或鼠标事件, 自动操作计算机, 比如玩游戏等. 本文介绍使用ctypes模块调用API函数, 模拟键盘鼠标事件的方法. 目录 1.导入ctypes模块 2.通过 ...

  3. 第7.14节 Python类中的实例方法详析

    第7.14节 Python类中的实例方法详析 一.    实例方法的定义 在本章前面章节已经介绍了类的实例方法,实例方法的定义有三种方式: 1.    类体中定义实例方法 第一种方式很简单,就是在类体 ...

  4. python监听鼠标事件_Python中使用PyHook监听鼠标和键盘事件实例

    Python 中使用 PyHook 监听鼠标和键盘事件实例 PyHook 是一个基于 Python 的"钩子"库,主要用于监 听当前电脑上鼠标和键盘的事件.这个库依赖于另一个 Py ...

  5. python keyboard hook_键盘监控的实现Ⅰ——Keyboard Hook API函数

    在实际应用中,键盘监控是一种很常见的技术,它包括按键的记录.按键的过滤.按键的修改(映射)等.比方说,我们想统计用户的击键情况,这个就是按键的记录:我们想屏蔽某些系统键(例如Alt键.Win键),这个 ...

  6. python实现键盘自动输入_人生苦短我用Python——模拟鼠标点击和键盘输入的操作...

    通过Python可以模拟鼠标点击和键盘输入的操作,进而可以实现一些比较有趣的功能,例如游戏挂机.自动发消息等. 本文以自动发消息为例,实现该功能,通过该代码可以自动往QQ.微信发送任意内容.首先考虑想 ...

  7. python模拟鼠标点击和键盘输入的操作_python模拟鼠标点击和键盘输入的操作

    所有代码都是网上百度出来的,通过个人实践找到适合自己的. 采用的python 库是 pymouse.pykeyboard 安装时直接pip安装的,pip install PyUserInput 安装不 ...

  8. python实现按键精灵的功能_利用Python实现Windows下的鼠标键盘模拟的实例代码

    本文介绍了利用Python实现Windows下的鼠标键盘模拟的实例代码,分享给大家 本来用按键精灵是可以实现我的需求,而且更简单,但既然学python ,就看一下呗. 依赖: pip install ...

  9. python模拟鼠标键盘操作_人生苦短我用Python——模拟鼠标点击和键盘输入的操作...

    通过Python可以模拟鼠标点击和键盘输入的操作,进而可以实现一些比较有趣的功能,例如游戏挂机.自动发消息等. 本文以自动发消息为例,实现该功能,通过该代码可以自动往QQ.微信发送任意内容.首先考虑想 ...

  10. arcgis里python窗口运行,在 Python 窗口中执行工具

    当第一次打开 Python 窗口时,它会显示类似这样的界面: 左侧区域为 Python 的主提示窗口,在这里执行 Python 命令.右侧区域为帮助和语法窗口,工具运行时,在这里显示执行消息:输入代码 ...

最新文章

  1. 提升大学社团管理工具--轻雀协作
  2. pandas使用groupby函数、agg函数获取每个分组聚合对应的均值(mean)实战:计算分组聚合单数据列的均值、计算分组聚合多数据列的均值
  3. 云应用基础技术成熟需七年时间
  4. 2021 .NET Conf China 主题分享之-轻松玩转.NET大规模版本升级
  5. oracle today函数,oracle日期函数集锦
  6. php防错处理,更好的PHP错误处理
  7. yolo极大抑制_pytorch实现yolov3(4) 非极大值抑制nms
  8. 01-浏览器同源政策 以及 什么是跨域?怎么解决跨域问题?
  9. resin端口错误问题
  10. out memory 内存溢出总结
  11. Unity播放视频OGV格式视频
  12. 高级创意,单片机电子DIY制作精华资料汇总
  13. B-spline算法(B样条曲线)
  14. 设计中的设计-设计究竟是什么
  15. 优化问题---最优性条件
  16. 数据可视化大屏酷炫秘籍之前端开发者自己动手
  17. 银行业务管理软件(5)
  18. 文件查找失败:‘@escook/request-miniprogram‘ at main.js:10
  19. docker 搭建在线office--onlyoffice (一)
  20. python的pptx库_python学习之python-pptx

热门文章

  1. HQChart使用教程70 -通达信语法检测/指标翻译
  2. 系统思考负反馈之戴明的PDCA循环
  3. flowplayer视频播放插件
  4. 网页弹出窗口代码全攻略
  5. java前端弹窗的代码_弹出窗口的html的代码是怎么写的?
  6. 常见工具识别集锦---Windows应急响应工具
  7. 管螺纹如何标注_螺纹基础知识,螺纹的种类,螺纹的要素和螺纹的画法
  8. oppo手机解锁_OPPO手机忘记解锁密码怎么办 解锁手机密码
  9. 入门J2cache及源码解析
  10. 【手把手教安装】VUE安装教程!!!