【问题标题】:Get all windows that have taskbar icon获取所有有任务栏图标的窗口
【发布时间】:2011-10-14 20:45:58
【问题描述】:

我正在尝试获取仅具有任务栏图标的应用程序的所有窗口句柄。

我转换成C#失败的解决方案:

Enumerate windows like alt-tab does

Enumerate windows like alt-tab does

Enumerate windows like alt-tab does

还有一对我已经忘记了。 所有这些解决方案要么崩溃,要么启动无窗口进程,如 svchost、插件进程等。

基本上我只需要任务栏中带有图标的可用窗口。 我正在使用

的窗口句柄
Process.MainWindowHandle

对此有哪些可行的解决方案?有没有我错过的有效解决方案的线程?

【问题讨论】:

    标签: c# windows process enums taskbar


    【解决方案1】:

    尝试检索设置了 MainWindowTitle 属性的所有进程。

    感觉不是一个特别优雅的解决方案,但它对我有用,只带回那些正在运行并在任务栏中可见打开的应用程序。

    List<Process> taskBarProcesses = Process.GetProcesses().
                                             Where(p => !string.IsNullOrEmpty(p.MainWindowTitle))
                                             .ToList();
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2023-04-02
    • 2011-11-08
    相关资源
    最近更新 更多