win7+py2.7+pyHook的安装

win7+py2.7+pyHook的安装,并解决Python version 2.7 required,which was notfound in the registry问题

  • 1.下载 .exe 文件,网址链接如下: http://nchc.dl.sourceforge.net/project/pyhook/pyhook/1.5.1/pyHook-1.5.1.win32-py2.7.exe
  • 2.点击安装.exe,在pycharm中 import pyHook,若没问题,则安装成功
  • 3.要是报错Python version 2.7 required,which was not found in the registry,则进行如下操作:
  • A: win+R键,输入regedit 打开注册表编辑器
  • B:找到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\,看看是否有文件夹InstallPath,要是没有,则新建
  • C: 新建InstallPath文件夹,如下:

木里

  • D:双机右边的“默认”,并填入python2.7的安装途径,如下所示:

木里

  • E:点击确定,然后导入 import pyHook
  • #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    #    @version : 0.0.1
    #    @File    : regpy.py
    #    @Time    : 2018/5/21 0021 上午 9:07
    #    @Site    : 
    #    @Software: PyCharm
    #    @Author  : singebogo
    #    @Author_email: singbogo@163.com
    #    @description: 
    
    #
    # script to register Python 2.0 or later for use with win32all
    # and other extensions that require Python registry settings
    #
    # written by Joakim Loew for Secret Labs AB / PythonWare
    #
    # source:
    # http://www.pythonware.com/products/works/articles/regpy20.htm
    #
    # modified by Valentine Gogichashvili as described in http://www.mail-archive.com/distutils-sig@python.org/msg10512.html
    
    '''
    解决注册问题,pywin32安装存在问题
    '''
    
    import sys
    
    from _winreg import *
    
    # tweak as necessary
    version = sys.version[:3]
    installpath = sys.prefix
    
    regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
    installkey = "InstallPath"
    pythonkey = "PythonPath"
    pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
        installpath, installpath, installpath
    )
    
    
    def RegisterPy():
        try:
            reg = OpenKey(HKEY_CURRENT_USER, regpath)
        except EnvironmentError as e:
            try:
                reg = CreateKey(HKEY_CURRENT_USER, regpath)
                SetValue(reg, installkey, REG_SZ, installpath)
                SetValue(reg, pythonkey, REG_SZ, pythonpath)
                CloseKey(reg)
            except:
                print "*** Unable to register!"
                return
            print "--- Python", version, "is now registered!"
            return
        if (QueryValue(reg, installkey) == installpath and
                    QueryValue(reg, pythonkey) == pythonpath):
            CloseKey(reg)
            print "=== Python", version, "is already registered!"
            return
        CloseKey(reg)
        print "*** Unable to register!"
        print "*** You probably have another Python installation!"
    
    
    if __name__ == "__main__":
        RegisterPy()

如果运行报错ImportError: DLL load failed: %1 不是有效的 Win32 应用程序,请参考这篇博客: 

http://blog.csdn.net/AcSuccess/article/details/77448397

首先安装第三方库成了一个问题,查了很多资料,也没有解决pyHook库的安装问题。

在安装pyHook库之前,首先安装pywin32,这个库很好装,大家搜一下教程即可。

接下来需要安装pyHook,这个库我装了几次,都没有装上。最后找到了解决办法

pyHook下载地址

第一个是python2.7 32位下载地址,第二个是python2.7 64位下载地址。我的是64位,下载第二个


下载完成后,发现无法打开,这是用压缩工具打开,比如winrar,打开后解压到某目录下,就会出现pyHook的文件,将这个文件拷贝到

python27的安装的特定目录下python27\Lib\site-packages,然后导入pyHook就可以运行了。

如果安装了pyhook 则需要进行卸载,在控制面板中程序卸载即可,

C:\Users\Administrator>pip install C:\Users\Administrator\Desktop\pyHook-1.5.1-c
p27-cp27m-win_amd64.whl

Processing c:\users\administrator\desktop\pyhook-1.5.1-cp27-cp27m-win_amd64.whl
Installing collected packages: pyHook
Successfully installed pyHook-1.5.1

下面是一个简单的鼠标键盘监控器的小教程。

[python]  view plain  copy
  1. #!/usr/bin/env python  
  2. # -*- coding: utf-8 -*-  
  3.   
  4. import pythoncom  
  5. import pyHook  
  6. import time  
  7.   
  8. def onMouseEvent(event):  
  9.     "处理鼠标事件"  
  10.     fobj.writelines('-' * 20 + 'MouseEvent Begin' + '-' * 20 + '\n')  
  11.     fobj.writelines("Current Time:%s\n" % time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()))  
  12.     fobj.writelines("MessageName:%s\n" % str(event.MessageName))  
  13.     fobj.writelines("Message:%d\n" % event.Message)  
  14.     fobj.writelines("Time_sec:%d\n" % event.Time)  
  15.     fobj.writelines("Window:%s\n" % str(event.Window))  
  16.     fobj.writelines("WindowName:%s\n" % str(event.WindowName))  
  17.     fobj.writelines("Position:%s\n" % str(event.Position))  
  18.     fobj.writelines('-' * 20 + 'MouseEvent End' + '-' * 20 + '\n')  
  19.     return True  
  20.   
  21. def onKeyboardEvent(event):   
  22.     "处理键盘事件"     
  23.     fobj.writelines('-' * 20 + 'Keyboard Begin' + '-' * 20 + '\n')  
  24.     fobj.writelines("Current Time:%s\n" % time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()))  
  25.     fobj.writelines("MessageName:%s\n" % str(event.MessageName))  
  26.     fobj.writelines("Message:%d\n" % event.Message)  
  27.     fobj.writelines("Time:%d\n" % event.Time)  
  28.     fobj.writelines("Window:%s\n" % str(event.Window))  
  29.     fobj.writelines("WindowName:%s\n" % str(event.WindowName))  
  30.     fobj.writelines("Ascii_code: %d\n" % event.Ascii)  
  31.     fobj.writelines("Ascii_char:%s\n" % chr(event.Ascii))  
  32.     fobj.writelines("Key:%s\n" % str(event.Key))  
  33.     fobj.writelines('-' * 20 + 'Keyboard End' + '-' * 20 + '\n')  
  34.     return True  
  35.   
  36. if __name__ == "__main__":   
  37.           
  38.     #打开日志文件  
  39.     file_name = "hook_log.txt"  
  40.     fobj = open(file_name,  'w')         
  41.   
  42.     #创建hook句柄  
  43.     hm = pyHook.HookManager()  
  44.   
  45.     #监控键盘  
  46.     hm.KeyDown = onKeyboardEvent  
  47.     hm.HookKeyboard()  
  48.   
  49.     #监控鼠标  
  50.     hm.MouseAll = onMouseEvent  
  51.     hm.HookMouse()  
  52.       
  53.     #循环获取消息  
  54.     pythoncom.PumpMessages()  
  55.       
  56.     #关闭日志文件  
  57.     fobj.close()   

--------------------MouseEvent Begin--------------------
Current Time:Mon, 21 May 2018 01:44:11
MessageName:mouse move
Message:512
Time_sec:15899309
Window:132330
WindowName:pyt - [D:\pyt] - ...\picc\moudle\Kadjust.py - PyCharm 2017.2.4
Position:(49, 789)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值