51学通信论坛2017新版

标题: windows执行了哪些程序的实时监控器 [打印本页]

作者: admin    时间: 2019-6-29 22:40
标题: windows执行了哪些程序的实时监控器
windows执行了哪些程序的实时监控器:可以实时监控在windows上执行了哪些程序。
效果图:
[attach]5819[/attach]

代码:
[attach]5820[/attach]
  1. from ctypes import *
  2. from time import sleep
  3. from datetime import datetime

  4. #方便调用Windows底层API函数
  5. user32 = windll.user32
  6. kernel32 = windll.kernel32
  7. psapi = windll.psapi

  8. #实时查看当前窗口
  9. def getProcessInfo():
  10.     global windows
  11.     #获取当前位于桌面最顶端的窗口句柄
  12.     hwnd = user32.GetForegroundWindow()
  13.     pid = c_ulong(0)
  14.     #获取进程ID
  15.     user32.GetWindowThreadProcessId(hwnd, byref(pid))
  16.     processId = str(pid.value)
  17.     #获取可执行文件名称
  18.     executable = create_string_buffer(512)
  19.     h_process = kernel32.OpenProcess(0x400|0x10, False, pid)
  20.     psapi.GetModuleBaseNameA(h_process, None, byref(executable), 512)
  21.     #获取窗口标题
  22.     windowTitle = create_string_buffer(512)
  23.     user32.GetWindowTextA(hwnd, byref(windowTitle), 512)
  24.     #关闭句柄
  25.     kernel32.CloseHandle(hwnd)
  26.     kernel32.CloseHandle(h_process)
  27.     #更新最近两个窗口列表
  28.     windows.pop(0)
  29.     windows.append([executable.value.decode('gbk'),windowTitle.value.decode('gbk')])

  30. def main():
  31.     global windows
  32.     windows = [None, None]
  33.     while True:
  34.         getProcessInfo()
  35.         #如果用户切换窗口则进行提示
  36.         if windows[0] != windows[1]:
  37.             print('='*30)
  38.             print(str(datetime.now())[:19],windows[0],'==>',windows[1])
  39.         sleep(0.2)
  40. if __name__ == '__main__':
  41.     main()
复制代码





欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/) Powered by Discuz! X3