位置: 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 泛型方法)

  • 华为日历怎么显示节假日休假信息(华为日历怎么显示农历)

    华为日历怎么显示节假日休假信息(华为日历怎么显示农历)

  • 京东退款后红包返还吗(京东退款后红包会过期吗)

    京东退款后红包返还吗(京东退款后红包会过期吗)

  • 小艺小艺唤醒词能改吗(小艺小艺唤醒词改名)

    小艺小艺唤醒词能改吗(小艺小艺唤醒词改名)

  • wps老是弹出另存为怎么关掉(wps老是弹出另存为)

    wps老是弹出另存为怎么关掉(wps老是弹出另存为)

  • 微信赞赏商家,商家能收到吗(微信赞赏商家钱是直接到账吗)

    微信赞赏商家,商家能收到吗(微信赞赏商家钱是直接到账吗)

  • 怎么截图视频(手机怎么截图视频)

    怎么截图视频(手机怎么截图视频)

  • 华为手机有屏幕录制功能吗(华为手机有屏幕使用时间功能吗)

    华为手机有屏幕录制功能吗(华为手机有屏幕使用时间功能吗)

  • 微信语音播报收款怎么设置(微信语音播报收款怎么设置蓝牙音响)

    微信语音播报收款怎么设置(微信语音播报收款怎么设置蓝牙音响)

  • 华为手机死机无法开机(华为手机死机无法启动)

    华为手机死机无法开机(华为手机死机无法启动)

  • 苹果手机怎么当电视遥控器(苹果手机怎么当空调遥控器用)

    苹果手机怎么当电视遥控器(苹果手机怎么当空调遥控器用)

  • 分区格式mbr与gpt区别(分区格式mbr与guid哪个启动更快)

    分区格式mbr与gpt区别(分区格式mbr与guid哪个启动更快)

  • 早期计算机是用来(早期计算机是用来运行什么的)

    早期计算机是用来(早期计算机是用来运行什么的)

  • 苹果x充电多久能充满(苹果手机充电充多久)

    苹果x充电多久能充满(苹果手机充电充多久)

  • word文本编辑模式有(word文本编辑器在哪里)

    word文本编辑模式有(word文本编辑器在哪里)

  • 怎么把微信图片放大(怎么把微信图片变成文件)

    怎么把微信图片放大(怎么把微信图片变成文件)

  • 积目怎么删除发布的内容(积目怎么删除资料照片)

    积目怎么删除发布的内容(积目怎么删除资料照片)

  • 抖音私信被禁怎么办(抖音私信被禁怎么回事)

    抖音私信被禁怎么办(抖音私信被禁怎么回事)

  • 荣耀play3指纹在哪(荣耀play3 指纹)

    荣耀play3指纹在哪(荣耀play3 指纹)

  • 畅享10什么时候上市(畅享10什么时候升级鸿蒙3)

    畅享10什么时候上市(畅享10什么时候升级鸿蒙3)

  • 手机屏怎么设置(手机屏怎么设置时间和日期)

    手机屏怎么设置(手机屏怎么设置时间和日期)

  • pr怎么让视频铺满全屏(pr怎么把视频平铺)

    pr怎么让视频铺满全屏(pr怎么把视频平铺)

  • 美团外卖怎么取消订单(美团外卖怎么取消订单商家已接单)

    美团外卖怎么取消订单(美团外卖怎么取消订单商家已接单)

  • 电脑无法进入安全模式(电脑无法进入安装系统界面)

    电脑无法进入安全模式(电脑无法进入安装系统界面)

  • 电脑开机屏幕黑屏怎么办?(电脑开机屏幕黑屏无信号)

    电脑开机屏幕黑屏怎么办?(电脑开机屏幕黑屏无信号)

  • Unreal Niagara粒子入门1(粒子效果大全)

    Unreal Niagara粒子入门1(粒子效果大全)

  • 外贸出口退税流程视频
  • 企业的企业所得税
  • 车辆购置税计入成本吗
  • 租房抵扣个税计算公式
  • 我国采用的税率形式有哪几种
  • 视同销售的增值税如何计算
  • 审计查账查什么
  • 预付加油卡发票可以报销吗
  • 车间用的电线计入什么科目
  • 投资性房地产的初始计量
  • 年底向员工客户发放、赠送实物的怎么缴个税
  • 会计核算过程中的计量尺度通常有
  • 委托境外研发费用不超过境内符合条件的研发费用
  • 土地无形资产摊销的会计处理
  • 增值税发票本月没用完可以下月用吗
  • 一般纳税人怎么交税
  • 金税盘可以异地使用吗
  • 劳务派遣公司是干嘛的
  • 旅游休闲用地
  • 预提工资是什么科目
  • 附加税退税如何做账
  • 预付卡销售加油充值款可以报销吗
  • 开普票税率怎么算
  • 云下载并重新安装
  • 小规模减免的增值税汇算清缴
  • 开成品油发票要注意什么?
  • 转出未交增值税会计科目
  • Element-UI--<el-switch>的@change回调函数的参数用法
  • php判断字符串是否存在
  • thinkphp常用函数
  • 损益类科目调整影响所得税吗为什么
  • php curl_init
  • 代理业务怎么记账
  • python getpass模块
  • 帝国cms添加栏目前台不显示
  • 个税申报漏报人怎么办
  • dedecms怎么用
  • 将织梦dedecms转换到wordpress
  • hashmap的使用场景
  • 样品开发计划
  • 差旅费补助无发票的文件依据
  • 以前年度损益调整
  • 幼儿园会计做账流程
  • 如何办理出口收款凭证
  • 计提工资要附什么凭证
  • 房地产企业销售现房是否预缴增值税
  • 代扣代缴个人所得税分录
  • 飞机票抵扣进项税申报表的填写
  • 税票名称开错了有影响么
  • mysql %d
  • mysql的基本介绍
  • mysql安装包和免安装的区别
  • win10 没有用户
  • 红帽子一个月能挣多少钱
  • windows10cortana搜索框
  • linux系统磁盘管理的主要内容
  • macbook看视频卡顿
  • win7 64位系统使用dos命令快速提高u盘传输速度的技巧
  • win7如何清理c盘空间不影响系统
  • linux 多块硬盘虚拟成一块
  • jquery跟随鼠标移动
  • linux awk $1
  • 感恩节0
  • 拖拽js实现
  • node:js
  • document.all.value
  • js判断上传图片宽高大小
  • js点击div改变css样式
  • jquery从左到右渐渐显示
  • Python中断言语句
  • unity 设置物体角度
  • jquery实现图片横向移动
  • jquery获取当前元素是第几个元素
  • 没工作个人所得税还用下载吗
  • 贵州省地方税务局历任纪检组长马平
  • 怎么在年报查询个人信息
  • 增值税税控开票软件升级
  • 销售免税货物可以抵扣进项税吗
  • 残疾人有车能否坐公交车
  • 税务局社保服务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设