在任务管理器

时间:2017-02-21 12:32:30

标签: c++ windows taskmanager

有没有办法只在Windows中获取所有正在运行的应用程序的列表。应用程序是指任务管理器的应用程序选项卡中显示的任务。 As shown here

只是一些背景信息,我的程序的一部分显示(有点像任务管理器)所有当前正在运行的应用程序。因此,实质上可以将其视为从应用程序选项卡导出任务列表的方法。

我知道使用任务列表来获取所有进程的列表,你可以对它应用过滤器,但我不确定哪种过滤器组合会提供所需的输出。

编辑 - 到目前为止,我已设法应用过滤器并将过滤后的列表输出到所需位置。现在我被困了,因为我不知道什么是合格的任务管理器中的应用程序,所以我不知道我需要应用哪种过滤器组合。

任务列表是一个CMD命令,所以我的目标是,如果可能的话,过滤掉不属于应用程序选项卡的任务,将列表导出为CSV文件并创建一段代码来读取csv并显示c ++中的数据(第一个原型)。

1 个答案:

答案 0 :(得分:0)

对于任何偶然发现这种情况的人,我找到了使用VBS的解决方案。

Set Word = CreateObject("Word.Application")
Dim fso
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Set f = fso.CreateTextFile("C:\Users\........\Documents\output.csv", 2)
Set Tasks = Word.Tasks
For Each Task in Tasks
   If Task.Visible Then f.Writeline Task.Name
Next
Word.Quit

这将检测所有当前的“应用程序”并将列表输出到csv文件。