文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python Hook

2023-01-31 02:35

关注
# -*- coding: utf-8 -*- # 
import pythoncom 
import pyHook  
def onMouseEvent(event): 
    # 监听鼠标事件   
    print "MessageName:",event.MessageName 
    print "Message:", event.Message   
    print "Time:", event.Time   
    print "Window:", event.Window   
    print "WindowName:", event.WindowName   
    print "Position:", event.Position   
    print "Wheel:", event.Wheel   
    print "Injected:", event.Injected      
    print "---"

    # 返回 True 以便将事件传给其它处理程序   
    # 注意,这儿如果返回 False ,则鼠标事件将被全部拦截   
    # 也就是说你的鼠标看起来会僵在那儿,似乎失去响应了   
    return True

def onKeyboardEvent(event):
    # 监听键盘事件   
    print "MessageName:", event.MessageName   
    print "Message:", event.Message   
    print "Time:", event.Time   
    print "Window:", event.Window   
    print "WindowName:", event.WindowName   
    print "Ascii:", event.Ascii, chr(event.Ascii)   
    print "Key:", event.Key   
    print "KeyID:", event.KeyID   
    print "ScanCode:", event.ScanCode   
    print "Extended:", event.Extended   
    print "Injected:", event.Injected   
    print "Alt", event.Alt   
    print "Transition", event.Transition   
    print "---"   
    # 同鼠标事件监听函数的返回值   
    return True 

def main():   
    # 创建一个“钩子”管理对象   
    hm = pyHook.HookManager()   
    # 监听所有键盘事件   
    hm.KeyDown = onKeyboardEvent   
    # 设置键盘“钩子”   
    hm.HookKeyboard()   
    # 监听所有鼠标事件   
    hm.MouseAll = onMouseEvent   
    # 设置鼠标“钩子”   
    hm.HookMouse()   
    # 进入循环,如不手动关闭,程序将一直处于监听状态   
    pythoncom.PumpMessages() 

if __name__ == "__main__":   
    main()

#将test.py变为test.exe
#Get py2exe from http://www.py2exe.org/               

from distutils.core import setup
import py2exe

setup(console=['test.py'])

#cmd下执行:python setup.py py2exe,在dist目录下有exe和必备dll

#隐藏控制台,让其一闪而过
import ctypes  
whnd = ctypes.windll.kernel32.GetConsoleWindow()  
if whnd != 0:  
    ctypes.windll.user32.ShowWindow(whnd, 0)  
    ctypes.windll.kernel32.CloseHandle(whnd)  

这里写图片描述

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯