精华内容
下载资源
问答
  • python 监听键盘事件

    2019-06-08 00:16:00
    #coding=utf-8 from tkinter import * root=Tk() def callback(event): ... print("点击键盘",repr(event.char)) frame=Frame(root,width=200,height=200) frame.bind("<Key>",callback) frame.focus_...

     

    #coding=utf-8
    from tkinter import *
    root=Tk()
    def callback(event):
        print("点击键盘",repr(event.char))
    frame=Frame(root,width=200,height=200)
    frame.bind("<Key>",callback)
    frame.focus_set()
    frame.pack()
    mainloop()

    效果图:

     

    转载于:https://www.cnblogs.com/sea-stream/p/10989679.html

    展开全文
  • #coding=utf-8 ...# 监听到鼠标事件调用 def onMouseEvent(event): if(event.MessageName!="mouse move"):# 因为鼠标一动就会有很多mouse move,所以把这个过滤下 print(event.MessageName)...

     

    #coding=utf-8
    import pyHook
    import pythoncom
    
    # 监听到鼠标事件调用
    def onMouseEvent(event):
        if(event.MessageName!="mouse move"):# 因为鼠标一动就会有很多mouse move,所以把这个过滤下
            print(event.MessageName)
        return True # 为True才会正常调用,如果为False的话,此次事件被拦截
    
    # 监听到键盘事件调用
    def onKeyboardEvent(event):
        print(event.Key)# 返回按下的键
        return True
    
    def main():
        # 创建管理器
        hm = pyHook.HookManager()
        # 监听键盘
        hm.KeyDown = onKeyboardEvent   
        hm.HookKeyboard()  
            # 监听鼠标 
            #hm.MouseAll = onMouseEvent   
            #hm.HookMouse()
        # 循环监听
        pythoncom.PumpMessages() 
     
    if __name__ == "__main__":
        main()

    效果

     

    还可以监听鼠标的!!!

     

    转载于:https://www.cnblogs.com/sea-stream/p/10989766.html

    展开全文
  • Python借助keyboard监听键盘事件

    千次阅读 2020-08-06 19:07:46
    add_hotkey() 设置热键,一般和wait()组合使用,在wait监听下,当按下热键时会执行对应函数,举例: import keyboard #监听键盘 def test_a(): print('aaa') def test(x): print(x) if __name__ == '__main__': ...

    1. 按

    监听鼠标事件可以参考:Python借助pynput监听鼠标事件

    2. 安装

    PyPI主页
    Github

    pip install keyboard
    

    如果使用国外的源下载速度慢,我们可以使用国内的源进行提速:

    • 豆瓣源
      pip3 install keyboard -i https://pypi.douban.com/simple
      
    • 清华大学源
      pip3 install keyboard -i https://pypi.tuna.tsinghua.edu.cn/simple
      

    3. 按键字符

    #字符
    '1'
    'a'
    ...
    #控制
    'ctrl'
    'alt'
    'shift'
    'enter'
    'esc'
    'f1'
    ...
    #方向键
    'up'
    'down'
    'left'
    'right'
    #组合按键
    'ctrl'+'alt'+'a'
    ...
    

    4. 常用方法

    4.1. wait()

    监听按键,如果没设置按键,将会一直监听这句之前的按键;如果设置了按键,那么在按下该按键后就会停止监听,并执行后面的语句,举例:

    import keyboard
    
    print(0)
    keyboard.wait('a')
    #在按下a之前后面的语句都不会执行,下面同理
    print(1)
    keyboard.wait('b')
    print(2)
    keyboard.wait('c')
    print(3)
    keyboard.wait()
    
    # 结果:
    # 0
    # 1
    # 2
    # 3
    
    #继续监听
    #只有按顺序按下abc(中间过程随便按不干扰)才能输出0123,但因为最后一个没设置按键,所以会一直监听下去
    

    4.2. add_hotkey()

    设置热键,一般和wait()组合使用,在wait监听下,当按下热键时会执行对应函数,举例:

    import keyboard  #监听键盘
    
    def test_a():
        print('aaa')
    
    def test(x):
        print(x)
    
    if __name__ == '__main__':
        keyboard.add_hotkey('f1', test_a)
        #按f1输出aaa
        keyboard.add_hotkey('ctrl+alt', test, args=('b',))
        #按ctrl+alt输出b
        keyboard.wait()
        #wait里也可以设置按键,说明当按到该键时结束
    

    4.3. record()

    记录键盘事件,如果加上until参数,可以设置当按下某按键时结束监听,和wait方法有点像,举例:

    import keyboard
    
    keyboard.add_hotkey('ctrl', print, args=('aaa',))
    keyboard.add_hotkey('alt', print, args=('bbb',))
    
    recorded = keyboard.record(until='esc')
    #当按下esc时结束按键监听,并输出所有按键事件
    print(recorded)
    
    # 结果为:
    # aaa
    # aaa
    # bbb
    # [KeyboardEvent(ctrl down), KeyboardEvent(ctrl up), KeyboardEvent(ctrl down), 
    # KeyboardEvent(ctrl up), KeyboardEvent(alt down), KeyboardEvent(alt up),
    # KeyboardEvent(esc down)]
    

    4.4. hook()

    绑定所有按键事件,当只要有按键按下/松开时就会触发的回调函数,举例:

    import keyboard
    
    
    def callback(x):
        print(x)
        print()
    
    
    keyboard.hook(callback)
    # 按下任何按键时,都会调用callback,其中一定会传一个值,就是键盘事件
    keyboard.wait()
    

    4.5. on_press()

    按下及长按任何按键时均会触发回调函数

    import keyboard
    
    
    def callback(x):
        print(x)
        print()
    
    
    keyboard.on_press(callback)
    # 按下任何按键时(包括长按),都会调用callback,其中一定会传一个值,就是键盘事件
    keyboard.wait()
    
    

    4.6. KeyboardEvent()

    一个按键事件,里面有3个常用参数:event_type、scan_code、name,分别代表按键类型(down/up)、按键号(每个键都有对应的)和按键名,举例:

    import keyboard
    
    def abc(x):
        a = keyboard.KeyboardEvent('down', 28, 'enter')
        #按键事件a为按下enter键,第二个参数如果不知道每个按键的值就随便写,
        #如果想知道按键的值可以用hook绑定所有事件后,输出x.scan_code即可
        if x.event_type == 'down' and x.name == a.name:
            print("你按下了enter键")
        #当监听的事件为enter键,且是按下的时候
    
    keyboard.hook(abc)
    # keyboard.hook_key('enter', bcd)
    # recorded = keyboard.record(until='esc')
    keyboard.wait()
    
    # 结果:
    # 你按下了enter键
    # 你按下了enter键
    

    4.7. 全部API

    展开全文
  • 本文以一段简单的监听鼠标、键盘事件的程序,实现获取用户的输入(比如登录某些网站的账号、密码)的功能。经测试,对于一台“裸奔”的电脑,完全能获取到用户输入的任何信息;但是如果安装了杀毒软件,就够呛了。...
  • 我们可以利用windows提供的api函数来实现对系统键盘事件和鼠标事件的监听,主要利用的是SetWindowsHookEx函数,这个函数可以允许调用者传入一个钩子函数也叫回调函数,当指定的事件发生时,你 传入的函数就会被触发...
  • 背景,不怎么关电脑,每天第一次敲键盘即为上班时间,每天按下锁屏快捷键(Windows键+L)即为下班。 python2.7 # -*- coding: utf-8 -*- # # by oldj http://oldj.net/ # import pythoncom import pyHook import ...

     闲的无聊,记录下上下班时间。

    背景,不怎么关电脑,每天第一次敲键盘即为上班时间,每天按下锁屏快捷键(Windows键+L)即为下班。

    python2.7

    # -*- coding: utf-8 -*- #
    # by oldj http://oldj.net/ #
    import pythoncom
    import pyHook
    import os
    import datetime
    import time
    today, on_duty_file, off_duty_file = datetime.datetime.now().strftime('%Y-%m-%d'), '', ''
    key_dict = {'first':{'keyid':76,'time':0},'second':{'keyid':91,'time':0}}
    def checkDir(today):
        global on_duty_file
        global off_duty_file
        print on_duty_file
        on_duty_file  = "C:/Users/duty_time/"+today+"/on_dufy.txt"
        off_duty_file = "C:/Users/duty_time/"+today+"/off_dufy.txt"
        return True
    def mkdir():
        global today
        today = datetime.datetime.now().strftime('%Y-%m-%d')
        path = "C:/Users/duty_time/" + today
        pan = os.path.exists(path)
        print path
        if not pan:
            os.mkdir(path)
        checkDir(today)
        return True
    def onKeyboardEvent(event):
        mkdir() #创建当天文件夹
        # 监听键盘事件
        keyid=event.KeyID
        global on_duty_file
        global off_duty_file
        global key_dict
        if (not os.path.exists(on_duty_file)):
            with open(on_duty_file.decode('utf-8'), 'ab+') as f:
                f.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
        if keyid == key_dict['first']['keyid']:
            key_dict['first']['time'] = time.time()
        if keyid == key_dict['second']['keyid']:
            key_dict['second']['time'] = time.time()
        if key_dict['first']['time'] > 0 and key_dict['second']['time'] >0 and abs(key_dict['first']['time']-key_dict['second']['time']) < 10000:
            with open(off_duty_file.decode('utf-8'), 'ab+') as f:
                f.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')+'-------')
                key_dict['first']['time']=0
                key_dict['second']['time']=0
        return True
    def main():
        # 创建一个“钩子”管理对象
        hm = pyHook.HookManager()
        # 监听所有键盘事件
        hm.KeyDown = onKeyboardEvent
        # 设置键盘“钩子”
        hm.HookKeyboard()
        # 进入循环,如不手动关闭,程序将一直处于监听状态f
        pythoncom.PumpMessages()
    if __name__ == "__main__":
        main()
    
    

     

    python 3.5

    # -*- coding: utf-8 -*- #
    # by oldj http://oldj.net/ #
    import pythoncom
    import pyHook
    import os
    import datetime
    import time
    today, on_duty_file, off_duty_file = datetime.datetime.now().strftime('%Y-%m-%d'), '', ''
    key_dict = {'first':{'keyid':76,'time':0},'second':{'keyid':91,'time':0}}
    def checkDir(today):
        global on_duty_file
        global off_duty_file
        on_duty_file  = "F:/duty_time/"+today+"/on_dufy.txt"
        off_duty_file = "F:/duty_time/"+today+"/off_dufy.txt"
        return True
    def mkdir():
        global today
        today = datetime.datetime.now().strftime('%Y-%m-%d')
        path = "F:/duty_time/" + today
        pan = os.path.exists(path)
        print(path)
        if not pan:
            os.mkdir(path)
        checkDir(today)
        return True
    def onKeyboardEvent(event):
        mkdir() #创建当天文件夹
        # 监听键盘事件
        keyid=event.KeyID
        global on_duty_file
        global off_duty_file
        global key_dict
        if ( os.path.exists(on_duty_file)):
            print(on_duty_file)
            with open(on_duty_file, 'a+') as f:
                print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
                f.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
        if keyid == key_dict['first']['keyid']:
            key_dict['first']['time'] = time.time()
        if keyid == key_dict['second']['keyid']:
            key_dict['second']['time'] = time.time()
        if key_dict['first']['time'] > 0 and key_dict['second']['time'] >0 and abs(key_dict['first']['time']-key_dict['second']['time']) < 10000:
            with open(off_duty_file, 'a+') as f:
                f.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')+'-------')
                key_dict['first']['time']=0
                key_dict['second']['time']=0
        return True
    def main():
        # 创建一个“钩子”管理对象
        hm = pyHook.HookManager()
        # 监听所有键盘事件
        hm.KeyDown = onKeyboardEvent
        # 设置键盘“钩子”
        hm.HookKeyboard()
        # 进入循环,如不手动关闭,程序将一直处于监听状态f
        pythoncom.PumpMessages()
    if __name__ == "__main__":
        main()
    
    

     

    PS : 编辑器安装pyhook报错的话,自己手动安装 

    资源   https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook

    执行 pip install 安装

    展开全文
  • python实现键盘监听

    万次阅读 2019-07-10 17:29:53
    这里来展示一个比较有意思的python功能模块:pynput,这个模块里面有关于鼠标和键盘的一些操作,这里给大家分享的是监听键盘操作。 安装 pip install pynput # conda or py3 程序功能介绍 【####这个程序没有调试...
  • 目录1.完整代码2.测试结果3.类的补充(TODO)4.如有疑惑请直接评论或发邮箱 1.完整代码 简单介绍:   1.响应事件 ...连续按下ppppp触发默认事件关闭监听   2.关于初始化参数   
  • ROS实时监听键盘python
  • 一. 环境以及工具 环境:win10,Python3.6 工具:JetBrains PyCharm 2018.1.4 二....import os import smtplib #发送邮件 import time import threading import email复制代码 ...下面这三个库主要用来监听: imp
  • 主要介绍了Python中捕获键盘的方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • python3 监听键盘

    千次阅读 2019-04-06 16:42:51
    先安装pynput ...# 监听键盘按键 with keyboard.Listener(on_press=on_press,on_release=on_release) as listener: listener.join() 参考: https://www.jianshu.com/p/03010ac70e4c    
  • python如何监听键盘

    2021-02-26 23:28:07
    第一步导入侦听器 ...第四步创建监听线程用于监听键盘 这在留下一个小插曲就是输入数字1会转化成<97>本来以为是ask码或者哈希值结果都不对上网找没有相关的知识点有大佬可以帮我理解一下 ...
  • python实现监听键盘

    2021-04-24 12:38:10
    python实现监听键盘 实现服务端 import pickle from io import BytesIO import socket #接收数据 def Server_Recive(ip,port): socket_obj = socket.socket(socket.AF_INET,socket.SOCK_STREAM) socket_obj.bind...
  • 一个人一天键盘要敲多少个键?一个人一天操作鼠标次数是多少?这显然不是我们想知道的东西,鼠标键盘侦听可以从操纵者的输入中分析出很多数据,比如说输入习惯,讲话习惯,讲话风格,甚至还有可能分析出常用密码。这...
  • 我们可以利用windows提供的api函数来实现对系统键盘事件和鼠标事件的监听,主要利用的是SetWindowsHookEx函数,这个函数可以允许调用者传入一个钩子函数也叫回调函数,当指定的事件发生时,你 传入的函数就会被触发...
  • 最近尝试控制台小程序,以及快捷键组合的时候需要用到侦听键盘事件的操作,然后查阅了相关的材料,发现keyboard模块比较适合我目前的需求,在这做一下自己的见解,顺便记录一下笔记。如果你有下面的问题,或者想了解...
  • 1.监听键盘按键 from pynput.keyboard import Listener def press(key): print(key.char) with Listener(on_press = press) as listener: listener.join() 转载于:https://www.cnblogs.com/cvo...
  • 端午小长假,飞驰而过。...正如标题,python监听鼠标和键盘。一如惯例,分为两大平台。1、在windows环境下 PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘事件。这个库依赖于...
  • PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘事件。这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台。 关于...
  • Python2.7: 使用Pyhook模块监听鼠标键盘事件-获取坐标。因该模块对Python3 有兼容性问题,故采用python2.7解释器。 原程序可监听所有事件,现注释掉部分功能,只输出鼠标左键触发的坐标,用于获取坐标,方便自动化...
  • 主要介绍了python如何使用 keyboard 录制键盘事件,帮助大家提高工作效率,感兴趣的朋友可以了解下
  • 本文实例讲述了Python实现监控键盘鼠标操作。分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pythoncom import pyHook import time def onMouseEvent(event): "处理鼠标事件" fobj.writelines...
  • 使用pyHook可以实现检测键盘的每个按键,并区分左右Ctrl、shift、win等,以及区分主键盘数字和小键盘数字等。 本来很简单的东西,网上很多文章一堆东西甩在哪,很难看懂,让人感觉有多难。其实就这么简单的几行就...
  • 键盘事件录制 保存并执行如下代码 import keyboard import time keyboard.hook(lambda e: print(e, time.clock())) keyboard.wait('Ctrl') 这里,我们利用 keyboard.hook 为每个键盘事件下钩子,并且执行其中的 ...
  • python 检测键盘按键,随时停止程序

    千次阅读 2020-04-20 14:41:03
    不是我原创的,但是原文我已经找不到在哪了。侵删。 很好用的函数。Linuxubuntu下可用,win10可能用不了。 import sys import tty import termios import signal ... old_settings = termios.tc...
  • Python 技术篇-pyHook键盘鼠标监听事件,监测鼠标键盘按键实例演示 键盘鼠标监听事件。 本来很简单的东西,网上很多文章一堆东西甩在哪,很难看懂,让人感觉有多难。学东西就是要一步一步的来,咱们先入门,然后再去...
  • #这个是键盘事件,键盘x,作为控制开关 def onKeyboardEvent(event): global suo c = chr(event.Ascii) print c if (c== 'x' ): if suo: suo=False else : suo=True return True #鼠标事件 def...
  • python控制、监听鼠标键盘

    千次阅读 2020-05-25 18:28:07
    python中控制、监听键盘鼠标常用pynput模块,有时也会使用pywin32模块。 本文主要讲如何使用pynput模块控制、监听键盘。由于本人能力有限,不足之处还望指正。 前期工作 ①安装pynput模块。打开cmd,输入pip install...
  • Python程序设计基础与应用》(ISBN:9787111606178),董付国,机械工业出版社 用书教师可以联系出版社或董老师获取教学大纲、课件、源码、教案、考试系统等配套教学资源。 ============== PPT|Python程序设计...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,065
精华内容 3,226
关键字:

python监听键盘事件

python 订阅