如何监视远程PC上的活动窗口

时间:2014-06-23 14:12:05

标签: python python-3.x wmi win32gui active-window

我可以使用wmi模块查看网络上远程计算机上发生的进程。这是一个使用wmi监视在我自己的PC上创建和删除的进程的示例。

import wmi, multiprocessing

def create():
    while True:
        crePro = cp()
        print('Creation',crePro.Caption,crePro.ProcessId,crePro.CreationDate)


def delete():
    while True:
        delPro = dp()
        print('Deletion',delPro.Caption,delPro.ProcessId,delPro.CreationDate)


c = wmi.WMI()
cp = c.Win32_Process.watch_for("creation")
dp = c.Win32_Process.watch_for("deletion")


if __name__ == '__main__':
    createProc = multiprocessing.Process(target = create)
    deleteProc = multiprocessing.Process(target = delete)

    createProc.start()
    deleteProc.start()

我还读过有关使用win32gui获取活动窗口的信息。

import win32gui
win32gui.GetForegroundWindow()

我已经了解WM_SETFOCUSWM_ACTIVEwin32con的存在,但我不确定如何在远程PC上连接这些流

我的问题是: 如何监控远程PC的活动窗口(我想使用WM_SETFOCUSWM_ACTIVE

1 个答案:

答案 0 :(得分:1)

要获取活动窗口,您可以执行此操作:

from win32gui import GetWindowText, GetForegroundWindow
active_window = GetWindowText(GetForegroundWindow())

但是,每次active_window更改时,都不会向您发送信号。您可以不时阅读此信息,看看active_window是否已更改。