如何在Windows中获取正在运行的应用程序?

13

如何在Windows中获取当前正在运行的应用程序或前台进程列表?

我的意思是具有实际窗口的应用程序,而不是后台服务/进程。 我想要访问任务管理器打开时显示的相同列表。

有方法吗? 任何类型的解决方案都可以接受。无论是命令还是.NET代码或其他任何东西,我只想以编程方式获取该列表。

这是否可能?

我尝试了tasklist,但它给我所有的服务和进程,甚至是后台的。

是否有我可以实现的逻辑?

1个回答

28

这可能会有所帮助:

Process[] processes = Process.GetProcesses();
foreach(Process p in processes)
{
    if(!String.IsNullOrEmpty(p.MainWindowTitle))
    {
        listBox1.Items.Add(p.MainWindowTitle);
    }
}

这是不正确的。它会列出所有的进程,甚至包括具有标题的后台服务。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接