python - 如何监视远程 PC 上的事件窗口

标签 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()

而且我在 win32con 中读到了 WM_SETFOCUSWM_ACTIVE 的存在,但我不确定如何连接到这些远程 PC 上的流。

我的问题是: 如何监视远程 PC 的事件窗口(我想使用 WM_SETFOCUSWM_ACTIVE)

最佳答案

要获取事件窗口,您可以这样做:

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

但是,这不会在每次 active_window 更改时都向您发送信号。您可以不时阅读此内容并查看 active_window 是否已更改。

关于python - 如何监视远程 PC 上的事件窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24368184/

相关文章:

python - 如何解决:“UnicodeDecodeError:'ascii'编解码器无法解码字节”

python - 如何在 Python 中保存 HSV 转换后的图像?

c# - WMI 枚举远程用户。只返回本地用户,不返回域用户

.net - 如何通过 WMI 获取 IIS 应用程序信息

python - 将任意字符串转换为整数

python - 加拿大邮政编码验证 - python - 正则表达式

python 3 : How to specify stdin encoding

python - 斐波那契在 Python 中很奇怪

c# - 通过编程从 Windows 计算机获取所有更新

Python打开.npy文件