我需要能够列出 Windows 机器上的所有活动应用程序。我一直在使用这个代码...
Process[] procs = Process.GetProcesses(".");
foreach (Process proc in procs)
{
if (proc.MainWindowTitle.Length > 0)
{
toolStripComboBox_StartSharingProcessWindow.Items.Add(proc.MainWindowTitle);
}
}
直到我意识到当在各自的窗口中打开多个文件时,这并没有列出像 WORD 或 ACROREAD 这样的情况。在这种情况下,使用上述技术仅列出最顶层的窗口。我认为这是因为即使打开了两个(或更多)文件,也只有一个进程。所以,我想我的问题是:如何列出所有窗口而不是它们的底层进程?