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

  • 淘宝交易保护会多久解除(淘宝交易被保护是怎么回事)

    淘宝交易保护会多久解除(淘宝交易被保护是怎么回事)

  • 腾讯会议怎么把主持人静音(腾讯会议怎么把声音关掉)

    腾讯会议怎么把主持人静音(腾讯会议怎么把声音关掉)

  • 华为mate20pro尺寸(华为mate20pro尺寸多少寸)

    华为mate20pro尺寸(华为mate20pro尺寸多少寸)

  • 淘宝购买记录删除后还能查询么(淘宝购买记录删除了怎么找回)

    淘宝购买记录删除后还能查询么(淘宝购买记录删除了怎么找回)

  • ipad能用几年(ipadair5能用几年)

    ipad能用几年(ipadair5能用几年)

  • 拼多多一二三级限制(拼多多一级二级三级限制哪个严重)

    拼多多一二三级限制(拼多多一级二级三级限制哪个严重)

  • 电信卡网速慢怎么办(电信卡网速慢怎么提速)

    电信卡网速慢怎么办(电信卡网速慢怎么提速)

  • 电脑屏幕中间出现一条线怎么办(电脑屏幕中间出现一条横线怎么回事)

    电脑屏幕中间出现一条线怎么办(电脑屏幕中间出现一条横线怎么回事)

  • ipad开机键坏了怎么开机(iPad开机键坏了开不了机怎么办)

    ipad开机键坏了怎么开机(iPad开机键坏了开不了机怎么办)

  • 手机onedrive速度太慢(手机 onedrive)

    手机onedrive速度太慢(手机 onedrive)

  • 原生相机是什么意思(原生相机是什么样子的)

    原生相机是什么意思(原生相机是什么样子的)

  • 小米mde6s是啥型号(小米mde 6)

    小米mde6s是啥型号(小米mde 6)

  • oled和tft屏幕的区别(oled和tft屏幕哪个更好)

    oled和tft屏幕的区别(oled和tft屏幕哪个更好)

  • 抖音关注请求是啥(抖音关注请求是谁关注谁)

    抖音关注请求是啥(抖音关注请求是谁关注谁)

  • 微信图片过期怎么恢复(微信图片过期怎么恢复原图免费)

    微信图片过期怎么恢复(微信图片过期怎么恢复原图免费)

  • 手机银行是掌上银行吗(手机银行是掌上银行嘛)

    手机银行是掌上银行吗(手机银行是掌上银行嘛)

  • 手机qq图标隐藏了怎么弄出来(手机qq图标隐藏了怎么办)

    手机qq图标隐藏了怎么弄出来(手机qq图标隐藏了怎么办)

  • vivo手机锁屏永久不灭(vivo手机锁屏后怎么保持程序运行)

    vivo手机锁屏永久不灭(vivo手机锁屏后怎么保持程序运行)

  • 荣耀v20系统更新10什么时候(荣耀v20系统更新包)

    荣耀v20系统更新10什么时候(荣耀v20系统更新包)

  • vivox27支持面部吗(vivox27支持面部识别吗)

    vivox27支持面部吗(vivox27支持面部识别吗)

  • 东莞地铁可以微信支付吗(东莞地铁可以微信购票吗)

    东莞地铁可以微信支付吗(东莞地铁可以微信购票吗)

  • 抖音不能评论了怎么办(抖音不能评论了怎么解除)

    抖音不能评论了怎么办(抖音不能评论了怎么解除)

  • 腾讯新闻如何发表文章(腾讯新闻如何发表动态)

    腾讯新闻如何发表文章(腾讯新闻如何发表动态)

  • 路由器网速慢怎么办?如何解决?(路由器网速慢怎么设置)

    路由器网速慢怎么办?如何解决?(路由器网速慢怎么设置)

  • 国家税务总局操作指引
  • 支付的各项税费现金流量表怎么填
  • 跨月冲红的发票怎么做会计分录
  • 工程款增值税专用发票如何开具
  • 一次性开票分期确认收入的税务文件是什么
  • 个体户核定双定户是否可以年度汇算清缴
  • 软件公司主营业务类别
  • 经纪代理服务怎么做分录
  • 房产税从租计征的税率是12%还是4%
  • 固定资产后续支出资本化和费用化
  • 房地产老项目增值税简易计税
  • 非公益捐赠如何调整应纳税所得额?
  • 公司出售厂房的增值税允许抵扣吗
  • 公司购买银行理财产品会计分录怎么写
  • 自产产品对外捐赠需要缴纳增值税吗
  • 小微企业2018年所得税税率
  • 劳务发票可以做费用吗怎么做
  • 无形资产摊销金额计入什么科目
  • 行政单位需要缴税吗
  • 不动产进项税额怎么算
  • 损益类账户包括成本类吗
  • 如何查出账外收入
  • 营改增后一般纳税人税率是多少
  • 材料采购费用的是
  • 合作社人工工资账务处理
  • 企业支付方式有几种
  • gh树形数据是什么意思
  • 企业利润分配的原则
  • 息税前利润和税后经营净利润
  • 会计差错更正账务处理 对股价影响
  • 新固定资产的六大类型
  • 融资租入固定资产改建支出计入
  • linux grep显示行数
  • 其他综合收益是什么意思
  • 股权激励的账务处理
  • wordpress拿shell
  • php对象的概念
  • php取值
  • spring boot s
  • 应付职工薪酬如何确认
  • 工会经费计提比例是2%还是0.8%
  • dedecms转eyoucms
  • mysql常用表
  • 工商罚款计入
  • 建筑业综合税率13.8%
  • 非独立核算的分公司需要独立建账吗
  • 进口关税的计算是以什么为基础
  • 小规模企业可以抵扣进项税吗
  • 增值税申报表是含税还是不含税
  • 生产过程中报废怎么核算成本
  • 管理费用抵扣企业所得税的比例
  • 无形资产出售时累计摊销为什么在借方
  • 银行利息增值税发票申请单怎么填
  • 应付账款和应付票据的区别与联系
  • 中央空调的维护费一年要多少钱?
  • 会计账簿怎么填写模式
  • 汽车几年折旧年限
  • 企业经营规模小怎么办
  • 生产费用明细账
  • ubuntu20 vnc
  • xp系统重启后自动还原怎么办
  • windows开机显示正在清理
  • windows server 2012将计算机图标添加到桌面(图文教程)
  • 浅谈linux的发展方向和应用范围
  • win8怎么改文件格式
  • win10屏幕图片
  • 华为nova7耳机怎么戴
  • python的脚本
  • dos删除指定后缀文件
  • javascript内置对象应用团购
  • ssh自动输入密码登录
  • JavaScript中的数据类型
  • android 属性动画改变view大小
  • android拖拽
  • js基于什么
  • jquery fullpage
  • 三水水厂热线电话号码
  • 增值税有哪些税种组成
  • 税务局工会
  • 图书行业税率多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设