我正在尝试获取仅具有任务栏图标的应用程序的所有窗口句柄。
我已转换为失败的C#的解决方案:
Enumerate windows like alt-tab does
Enumerate windows like alt-tab does
Enumerate windows like alt-tab does
还有一对我已经忘记了。 所有这些解决方案都会崩溃或带来无窗口进程,如svchost,插件进程等。
基本上我只需要带有图标的任务栏中主动可用的窗口。 我正在使用
的窗口句柄Process.MainWindowHandle
对此有哪些有用的解决方案?是否有一个我错过的工作解决方案的主题?
答案 0 :(得分:1)
尝试检索设置MainWindowTitle属性的所有进程。
它不是一种特别优雅的解决方案,但它对我有用,只带回那些在任务栏中运行且明显打开的应用程序。
List<Process> taskBarProcesses = Process.GetProcesses().
Where(p => !string.IsNullOrEmpty(p.MainWindowTitle))
.ToList();