zoukankan      html  css  js  c++  java
  • Python3.8环境安装PyHook3

    Python3.8环境安装PyHook3

    1. 安装python对应版本的pyhook3

    网  址:https://pypi.org/project/PyHook3/#files

    如果没有对应版本,请下载第三个文件解压缩。

     利用CMD窗口定位到解压缩的文件夹执行setup.py。执行命令为python setup.py build。将生成的文件放到C:Python3.7Libsite-packages中。
    2 .安装pythoncom
    https://sourceforge.net/projects/pywin32/files/pywin32/
    这里面下载pythoncom,按照对应版本下载后直接安装。
    3. 安装Swig
    http://www.swig.org/download.html
    找到对应的版本下载
    注意下载后里面有swig.exe文件,没有的话还要按照doc编译swig,没有cygwin也很麻烦,所以找编译好的对应版本下载。
    下载后放到安装软件的地方,添加环境变量path。
    4. 在CMD窗口执行命令安装pyhook3
    执行命令为pip install PyHook3。

    PyHook范例:

    Pyhook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台。

    关于PyHook的使用,在它的官方主页上就有一个简单的教程,大体上来说,可以这样使用

    # -*- coding: utf-8 -*- # 
     2 # by oldj http://oldj.net/ #  
     3import pythoncom
     4import pyHook    
     5def onMouseEvent(event): 
     6     
     7    # 监听鼠标事件     
     8    print "MessageName:",event.MessageName     
     9    print "Message:", event.Message     
    10    print "Time:", event.Time     
    11    print "Window:", event.Window     
    12    print "WindowName:", event.WindowName     
    13    print "Position:", event.Position     
    14    print "Wheel:", event.Wheel     
    15    print "Injected:", event.Injected           
    16    print"---"
    17   
    18    # 返回 True 以便将事件传给其它处理程序     
    19    # 注意,这儿如果返回 False ,则鼠标事件将被全部拦截     
    20    # 也就是说你的鼠标看起来会僵在那儿,似乎失去响应了     
    21    return True
    22  
    23def onKeyboardEvent(event):
    24   # 监听键盘事件     
    25    print "MessageName:", event.MessageName     
    26    print "Message:", event.Message     
    27    print "Time:", event.Time     
    28    print "Window:", event.Window     
    29    print "WindowName:", event.WindowName     
    30    print "Ascii:", event.Ascii, chr(event.Ascii)     
    31    print "Key:", event.Key     
    32    print "KeyID:", event.KeyID     
    33    print "ScanCode:", event.ScanCode     
    34    print "Extended:", event.Extended     
    35    print "Injected:", event.Injected     
    36    print "Alt", event.Alt     
    37    print "Transition", event.Transition     
    38    print "---"      
    39    # 同鼠标事件监听函数的返回值     
    40    return True 
    41 
    42def main():     
    43    # 创建一个“钩子”管理对象     
    44    hm = pyHook.HookManager()      
    45    # 监听所有键盘事件     
    46    hm.KeyDown = onKeyboardEvent     
    47    # 设置键盘“钩子”     
    48    hm.HookKeyboard()      
    49    # 监听所有鼠标事件     
    50    hm.MouseAll = onMouseEvent     
    51    # 设置鼠标“钩子”     
    52    hm.HookMouse()      
    53    # 进入循环,如不手动关闭,程序将一直处于监听状态     
    54    pythoncom.PumpMessages() 
    55 
    56if __name__ == "__main__":     
    57    main()

            运行上面的脚本,试试看移动一下鼠标,或者按一下键盘(比如开一个记事本程序,随便写点东西),看看这个脚本输出了什么。你会发现,你的鼠标、键盘的每一个动作都被它捕捉到并打印出来了。

      另外,需要注意上面两个监听函数的返回值。这两个函数可以没有返回值(实际上返回的是 None),如果有返回值的话,如果返回值为 True,则这个脚本在捕捉、处理对应的事件后会把事件继续传递下去,如果返回值为 False,则事件将会被阻塞在这儿,具体来说,就是你的鼠标或键盘将不再有响应。

      有了 PyHook,我们可以做很多有趣的事情:比如记录一下自己一天鼠标的轨迹,再结合别的程序画一张图出来;或者记录一下你每天的按键记录,看看键盘上哪些 键你按得最多;如果你很坏,还可以把它悄悄地装在别人的电脑中,看一看那个人一天都做了些什么;当然,由于 PyHook 还可以取得当前窗口的标题(WindowName),你还可以记录下来一天之中你在各个程序上花费了多少时间,看看自己有多少时间在看网页、多少时间在聊 天、多少时间在真正地工作,and so on。

  • 相关阅读:
    安装ActivePython
    安装Selenium
    安装setuptools与pip
    windows下测试环境搭建--Python安装
    编程语言 标记语言 脚本语言
    XMLHttpRequest 对象
    事务
    jsp
    Cookie案例-显示用户的上次访问时间代码实现
    事务处理
  • 原文地址:https://www.cnblogs.com/maybaco/p/13336851.html
Copyright © 2011-2022 走看看