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

  • 魅族mx3配置(魅族mx3怎么样)(魅族mx3hifi)

    魅族mx3配置(魅族mx3怎么样)(魅族mx3hifi)

  • ps怎么去除白色背景(ps怎么去除白色背景图片)

    ps怎么去除白色背景(ps怎么去除白色背景图片)

  • 小米air2怎么重新配对(小米air2 se如何重启)

    小米air2怎么重新配对(小米air2 se如何重启)

  • macbook镜像设置在哪(macbook镜像设置没有)

    macbook镜像设置在哪(macbook镜像设置没有)

  • 网易云自己唱的歌在哪里(网易云自己唱的草稿怎么删除)

    网易云自己唱的歌在哪里(网易云自己唱的草稿怎么删除)

  • 快手小店保证金怎么退(快手小店保证金根本退不了)

    快手小店保证金怎么退(快手小店保证金根本退不了)

  • 华为nova5手机型号怎么看(华为Nova5手机型号)

    华为nova5手机型号怎么看(华为Nova5手机型号)

  • 华为路由器初始无密码怎么办(华为路由器初始密码一般是多少)

    华为路由器初始无密码怎么办(华为路由器初始密码一般是多少)

  • 2060显卡温度85度正常吗(2060显卡最高温度)

    2060显卡温度85度正常吗(2060显卡最高温度)

  • 拼多多怎么两件东西一起购买呢(拼多多怎么两件一起付款)

    拼多多怎么两件东西一起购买呢(拼多多怎么两件一起付款)

  • 微信被投诉多长时间自动解(微信投诉多长时间会封号)

    微信被投诉多长时间自动解(微信投诉多长时间会封号)

  • 荣耀9支持光学防抖吗(荣耀支持光学变焦吗)

    荣耀9支持光学防抖吗(荣耀支持光学变焦吗)

  • iphone11备份到新手机(苹果11数据备份到12)

    iphone11备份到新手机(苹果11数据备份到12)

  • 苹果手机频繁断无信号(苹果手机频繁断流)

    苹果手机频繁断无信号(苹果手机频繁断流)

  • 网卡工作在osi模型的哪一层(网卡工作osi体系结构的哪些层?其作用有哪些?)

    网卡工作在osi模型的哪一层(网卡工作osi体系结构的哪些层?其作用有哪些?)

  • 电脑关机了微信会自动退出吗(电脑关机了微信为什么还显示在登录)

    电脑关机了微信会自动退出吗(电脑关机了微信为什么还显示在登录)

  • 快手商品上架审核要多久(快手商品上架审核需要多久)

    快手商品上架审核要多久(快手商品上架审核需要多久)

  • 华为mate30上面两个孔是干嘛的(华为mate30pro上面两个洞)

    华为mate30上面两个孔是干嘛的(华为mate30pro上面两个洞)

  • 华为浏览器下载的东西在哪里(华为浏览器下载文件删除恢复)

    华为浏览器下载的东西在哪里(华为浏览器下载文件删除恢复)

  • 58同城查看完整号码(58同城怎么看浏览记录)

    58同城查看完整号码(58同城怎么看浏览记录)

  • 4g怎么升级5g(电信4g怎么升级5g)

    4g怎么升级5g(电信4g怎么升级5g)

  • 2600有没有核显呢(2600x的核显相当于什么显卡)

    2600有没有核显呢(2600x的核显相当于什么显卡)

  • 华为nova5pro耳机孔在哪里(华为nova5pro耳机插上没有反应)

    华为nova5pro耳机孔在哪里(华为nova5pro耳机插上没有反应)

  • 京球电池可以用多久(京球电池用加水吗)

    京球电池可以用多久(京球电池用加水吗)

  • 出口退税率怎么算
  • 开具电费发票如何入账?
  • 外贸企业进项税额
  • 办公家具发票要交税吗?
  • 民办学校账务怎么做
  • 外购固定资产的计税基础
  • 差旅费包括哪些明细
  • 教育服务增值税纳税义务发生时间
  • 培训学校预收学费要交税吗
  • 补缴以前年度税费
  • 提前退休获得一次性补贴要交个人所得税吗?
  • 外贸企业当期认证的发票没申报影响退税吗?
  • 增值税专用发票电子版
  • 如何查询已开出的增值税发票是否被认证
  • 商业保险税前扣除限额
  • 营改增对小规模的影响
  • 从成因解析如何把控出口退税的执法风险
  • 增值税专用发票电子版
  • 设备租赁公司成本
  • 增值税多交了怎么申请退税
  • 核定征收的个税怎么算
  • 自建用地是什么性质
  • 税务登记证遗失补办
  • win10打印机驱动在电脑哪里找
  • win7怎么添加设备
  • 不征税收入有哪些条件
  • 百度地图经纬度导航
  • 免费GPU:九天•毕昇平台使用教程
  • Zend Framework+smarty用法实例详解
  • vue组件入门
  • php微信公众号获取带参二维码
  • 帝国cms移动端
  • 新的企业所得税
  • 广告片影视公司
  • 残疾人保证金怎么报税
  • 劳务公司成本怎么算
  • 合伙企业退伙如何缴纳个人所得税
  • 存根联是自己留着吗
  • 资产负债表坏账准备计入哪里科目
  • 财务会计报表的使用者有哪些
  • 跨月的普通发票能作废吗
  • 汽车销售公司赠车合法吗
  • 收据可以入账吗,符合税法规定吗
  • 一般纳税人城建税税率是多少
  • 公司的旅游费怎么处理
  • 借用别人公司
  • 机票开的个人的票是什么
  • 不得免征和抵扣税额抵减额分录
  • 暂估的应付账款需要调整报表吗
  • 负债类科目分录
  • 机票的抵扣进项税的注意事项
  • 收到对方红字发票信息表怎么处理
  • 生鲜配送账务处罚标准
  • 企业的源头
  • 预付账款无法取得发票如何做账
  • sqlserver1053怎么解决
  • sqlserver查询语句大全讲解
  • phpstudy中phpmyadmin无法访问
  • Linux系统下Qt的基本安装和配置
  • centosip配置
  • 怎么才能更好的优化我的电脑
  • 电脑操作系统win8
  • win8怎么禁止弹窗
  • win8系统怎么关闭屏保
  • flash插件app
  • win7关掉wifi
  • 关于session的用法哪些是错误的
  • ztree getnodebytid
  • jquery层次选择器主要包括哪几种分类
  • bat文件命令大全
  • shell 解析yml
  • javascript总结笔记
  • jquery和js能混着用吗
  • python字符串的编码规则
  • Qt for Android - ANT_HOME is set incorrectly or ant could not be located
  • bootstrap的组件
  • 广东国税app安卓版网上预约
  • 讲话和讲话精神的区别
  • 民族贸易产生的原因
  • 审计双轨制什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设