位置: IT常识 - 正文

python怎么获取键盘监听(python获取值对应的键)

编辑:rootadmin

推荐整理分享python怎么获取键盘监听(python获取值对应的键),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python怎么通过键找值,python怎么获取键盘输入,python怎么获取键盘的按键,python怎么获取键盘的按键,python获取键盘按键键值,python获取键值,python获取键盘按键键值,python怎么获取键盘输入,内容如对您有帮助,希望把文章链接给更多的朋友!

python获取键盘监听的方法是:1、使用“pip install pypiwin32”命令安装pypiwin32;2、用win32con的WH_KEYBOARD_LL属性设置监听系统键盘事件。

python怎么获取键盘监听(python获取值对应的键)

我们可以利用windows提供的api函数来实现对系统键盘事件和鼠标事件的监听,主要利用的是SetWindowsHookEx函数,这个函数可以允许调用者传入一个钩子函数也叫回调函数,当指定的事件发生时,你

传入的函数就会被触发,有些事件是进程级的,有些事件是系统级的,这里我们用WH_KEYBOARD_LL来监听系统键盘事件,用WH_MOUSE_LL来监听鼠标事件,注意不是WH_KEYBOARD,使用WH_KEYBOARD是无法监听到外部

程序的事件的,这个可以在windows官方文档里面看到说明,要用WH_KEYBOARD来监听系统键盘必须写dll去实现。

因为用到了一些宏定义在win32con里面已经有了,所以需要安装一下pypiwin32,当然如果你将这些宏定义写在自己的文件中,那么就不用安装pypiwin32了。

输入:pip install pypiwin32 安装pypiwin32。

#coding=utf-8fromctypesimport*fromctypesimportwintypesimportwin32conSetWindowsHookEx=windll.user32.SetWindowsHookExAUnhookWindowsHookEx=windll.user32.UnhookWindowsHookExCallNextHookEx=windll.user32.CallNextHookExGetMessage=windll.user32.GetMessageAGetModuleHandle=windll.kernel32.GetModuleHandleW#保存键盘钩子函数句柄keyboard_hd=None#保存鼠标钩子函数句柄mouse_hd=NoneclassKBDLLHOOKSTRUCT(Structure):_fields_=[('vkCode',c_int),('scanCode',c_int),('flags',c_int),('time',c_int),('dwExtraInfo',c_uint),('',c_void_p)]classPOINT(Structure):_fields_=[('x',c_long),('y',c_long)]classMSLLHOOKSTRUCT(Structure):_fields_=[('pt',POINT),('hwnd',c_int),('wHitTestCode',c_uint),('dwExtraInfo',c_uint),]defwait_for_msg():msg=wintypes.MSG()GetMessage(msg,0,0,0)defkeyboard_pro(nCode,wParam,lParam):"""函数功能:键盘钩子函数,当有按键按下时此函数被回调"""ifnCode==win32con.HC_ACTION:KBDLLHOOKSTRUCT_p=POINTER(KBDLLHOOKSTRUCT)param=cast(lParam,KBDLLHOOKSTRUCT_p)print(param.contents.vkCode)returnCallNextHookEx(keyboard_hd,nCode,wParam,lParam)defstart_keyboard_hook():"""函数功能:启动键盘监听"""HOOKPROTYPE=CFUNCTYPE(c_int,c_int,c_int,POINTER(c_void_p))pointer=HOOKPROTYPE(keyboard_pro)keyboard_hd=SetWindowsHookEx(win32con.WH_KEYBOARD_LL,pointer,GetModuleHandle(None),0)wait_for_msg()defstop_keyboard_hook():"""函数功能:停止键盘监听"""UnhookWindowsHookEx(keyboard_hd)defmouse_pro(nCode,wParam,lParam):"""函数功能:鼠标钩子函数,当有鼠标事件,此函数被回调"""ifnCode==win32con.HC_ACTION:MSLLHOOKSTRUCT_p=POINTER(MSLLHOOKSTRUCT)param=cast(lParam,MSLLHOOKSTRUCT_p)#鼠标左键点击ifwParam==win32con.WM_LBUTTONDOWN:print("左键点击,坐标:x:%d,y:%d"%(param.contents.pt.x,param.contents.pt.y))elifwParam==win32con.WM_LBUTTONUP:print("左键抬起,坐标:x:%d,y:%d"%(param.contents.pt.x,param.contents.pt.y))elifwParam==win32con.WM_MOUSEMOVE:print("鼠标移动,坐标:x:%d,y:%d"%(param.contents.pt.x,param.contents.pt.y))elifwParam==win32con.WM_RBUTTONDOWN:print("右键点击,坐标:x:%d,y:%d"%(param.contents.pt.x,param.contents.pt.y))elifwParam==win32con.WM_RBUTTONUP:print("右键抬起,坐标:x:%d,y:%d"%(param.contents.pt.x,param.contents.pt.y))returnCallNextHookEx(mouse_hd,nCode,wParam,lParam)defstart_mouse_hook():"""函数功能:启动鼠标监听"""HOOKPROTYPE=CFUNCTYPE(c_int,c_int,c_int,POINTER(c_void_p))pointer=HOOKPROTYPE(mouse_pro)mouse_hd=SetWindowsHookEx(win32con.WH_MOUSE_LL,pointer,GetModuleHandle(None),0)wait_for_msg()defstop_mouse_hook():"""函数功能:停止鼠标监听"""UnhookWindowsHookEx(mouse_hd)

打开一个txt文件,在里面输入文字,

importHookApiif__name__=='__main__':HookApi.start_keyboard_hook()

本文链接地址:https://www.jiuchutong.com/zhishi/304111.html 转载请保留说明!

上一篇:dedecms模板下载中增加dede图集内容图片下载功能(dedecms官网)

下一篇:java泛型算法如何实现(java 泛型方法)

  • vivox60怎么开5G(vivox60怎么打开5g网络)

    vivox60怎么开5G(vivox60怎么打开5g网络)

  • 哔哩哔哩年度报告怎么看(哔哩哔哩年度报告怎么删除)

    哔哩哔哩年度报告怎么看(哔哩哔哩年度报告怎么删除)

  • 小米10是曲面屏手机吗(小米10是曲面屏还是微曲面屏)

    小米10是曲面屏手机吗(小米10是曲面屏还是微曲面屏)

  • 京东京享值是怎么计算的(京东京享值怎么查看明细)

    京东京享值是怎么计算的(京东京享值怎么查看明细)

  • 爱奇艺录屏功能在哪里(爱奇艺能录屏么)

    爱奇艺录屏功能在哪里(爱奇艺能录屏么)

  • 内存条双通道怎么插(内存条双通道怎么开启)

    内存条双通道怎么插(内存条双通道怎么开启)

  • 客户端版本号是什么(客户端版本号怎么看)

    客户端版本号是什么(客户端版本号怎么看)

  • pdf文件打印没反应(pdf文件打印没反映怎么办)

    pdf文件打印没反应(pdf文件打印没反映怎么办)

  • 网易云音乐播放失败请切换输出设备(网易云音乐播放一会就停了怎么办?)

    网易云音乐播放失败请切换输出设备(网易云音乐播放一会就停了怎么办?)

  • 直播推广怎么做直播怎么吸引粉丝(直播推广引流的方式)

    直播推广怎么做直播怎么吸引粉丝(直播推广引流的方式)

  • 库乐队怎么设置不了了(库乐队怎么设置铃声)

    库乐队怎么设置不了了(库乐队怎么设置铃声)

  • 苹果原装电池和非原装有什么区别(苹果原装电池和换的电池哪个耐用)

    苹果原装电池和非原装有什么区别(苹果原装电池和换的电池哪个耐用)

  • xsmax面容识别突然用不了(xsmax面容突然不好使)

    xsmax面容识别突然用不了(xsmax面容突然不好使)

  • 拼多多待分享什么意思(拼多多待分享什么意思,怎么拼单)

    拼多多待分享什么意思(拼多多待分享什么意思,怎么拼单)

  • 小米play卡怎么注销(小米play手机卡)

    小米play卡怎么注销(小米play手机卡)

  • word怎么设置横格稿纸(word怎么设置横版)

    word怎么设置横格稿纸(word怎么设置横版)

  • 淘宝几颗星变成钻石(淘宝几颗星变成一颗钻石)

    淘宝几颗星变成钻石(淘宝几颗星变成一颗钻石)

  • 小米5是什么屏幕材质(小米是什么屏幕材质)

    小米5是什么屏幕材质(小米是什么屏幕材质)

  • 黑鲨2支持无线快充吗(黑鲨支持无线充吗)

    黑鲨2支持无线快充吗(黑鲨支持无线充吗)

  • 腾讯视频看直播在哪里(腾讯视频看直播一个小时多少流量)

    腾讯视频看直播在哪里(腾讯视频看直播一个小时多少流量)

  • 苹果手机可以压缩文件吗(苹果手机可以压缩照片吗)

    苹果手机可以压缩文件吗(苹果手机可以压缩照片吗)

  • 怎么取消qq的好友热播(怎么取消qq好友的聊天标识)

    怎么取消qq的好友热播(怎么取消qq好友的聊天标识)

  • 荣耀v20有耳机孔么(荣耀v20耳机孔失灵)

    荣耀v20有耳机孔么(荣耀v20耳机孔失灵)

  • 黑鲨手机如何查看手机配置参数(黑鲨手机如何查询激活时间)

    黑鲨手机如何查看手机配置参数(黑鲨手机如何查询激活时间)

  • 什么手机可以放两张电信卡(什么手机可以放两张卡)

    什么手机可以放两张电信卡(什么手机可以放两张卡)

  • Svchost.exe不停下载上传文件很占网速该怎么办?(svchost一直在下载什么)

    Svchost.exe不停下载上传文件很占网速该怎么办?(svchost一直在下载什么)

  • 安装服务费税率是多少
  • 分税制财政管理体制是什么?
  • 押金和租金
  • 季度申报所得税费用怎么做
  • 地价计入房产原值公式
  • 合同每三个月付一次款
  • 股东投资属于什么会计要素
  • 豆粕是农产品初加工,企业所得税免税
  • 免交增值税是什么意思
  • 调整凭证分录
  • 小企业作废的发票怎么开
  • 业务员出差借款,用途写什么
  • 财产租赁所得如何申报
  • 企业亏损情况下股东借款怎么办
  • 新注册的公司需要公示吗
  • 国税零申报怎么报
  • 税控盘基本信息设置
  • 装修费属于劳务费吗
  • 业务招待费在企业所得税税前扣除的标准是什么?
  • 递延所得税资产怎么计算
  • 广告机计入什么费用
  • 独立核算分公司可以享受小型微利企业优惠吗
  • 仓库间的调拨流程
  • 固定资产清理怎么做账务处理出售
  • 出口退税企业的税负率怎么算?
  • 补发上月工资如何计税
  • 计提工资时个税是计提上月的吗
  • 企业间借款的增值税计算
  • 房屋出租预收租金房产税纳税义务发生时间
  • 预计负债的计量,如何确定最佳估计数
  • 技术合同指什么
  • linux runit
  • 美团提现手续费入哪个会计科目
  • 公司注销不清算可以吗
  • el-upload上传文件大小限制
  • 带壳的栗子 (© Kai Keisuke/Shutterstock)
  • 无偿接收股权
  • mmdetection ValueError: need at least one array to concatenate解决方案
  • spring bootcsdn
  • win11硬件加速gpu计划怎么关
  • 图像边缘检测的基本原理
  • vgrename命令 重命名卷组
  • php使用ajax
  • 发票收款人与复核人为空
  • 社会团体不属于财政拨款的对象
  • 网上学电脑哪个软件好
  • ps遇到了文件尾
  • 使用SqlServer CTE递归查询处理树、图和层次结构
  • 补缴以前年度附加税怎么申报
  • 固定资产降低
  • 合同履约成本与一份当前或预期取得的区别
  • 为什么小规模不可以收专票
  • 销售商品发生的运输费计入什么科目
  • 主营业务利润率反映了企业的什么能力
  • 税控盘的主要功能包括
  • 按最低标准买社保30年退休后每个月领多少钱
  • 小型微利企业减按25%计算应纳税所得额
  • 工厂投产前的准备工作有哪些
  • 小规模纳税人开专票需要交税吗
  • 公司购买的意外险计入什么科目
  • 货物发出退货
  • 深入3DSTUDIOMAX
  • Mysql主库死锁了导致从库停止复制
  • win7 win8.1双系统安装教程
  • 防火墙监视模式
  • bios setup在哪里
  • win8操作中心怎么打开
  • apt-get download
  • ubuntu下安装win10
  • 笔记本不支持win8
  • win7搜索选项
  • android 欢迎页
  • js html css
  • ssh执行远程命令 参数
  • js教程 chm
  • Android ImageLoader 本地缓存
  • 怎么运用知识点
  • javascript怎么学
  • 北京国税发票查询真伪查询
  • 税务工作的前景怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设