首页 > 解决方案 > 如何获取所有正在运行的 GUI 应用程序的列表?

问题描述

我想知道是否可以使用 python 列出在 Windows 上运行的所有 GUI 应用程序。

我一直在做一些研究,人们建议使用psutil,看起来还可以,但是,它列出了所有活动进程,我无法找到任何关于如何只保留与活动 GUI 关联的进程的资源应用程序(例如,Firefox、Chrome、Skype、Discord 等)。

有没有办法做到这一点?也许不使用 Python(尽管那会很棒),也许通过一些 C++?获取进程的PID就足够了。

编辑:感谢 chrisbyte 和 Vijaye Raji,win32guiEnumWindows正是我想要的。

标签: pythonwindowsprocesscpupsutil

解决方案


通过 GUI 进程,我假设您的意思是附加了窗口的进程。您需要的是带有回调的EnumWindows API,在回调中,您可以使用GetWindowThreadProcessId获取每个窗口的进程 ID。

这是一个足够接近您的答案:https ://stackoverflow.com/a/21767578


推荐阅读