【问题标题】:C#.Net Check if 'Process' has a guiC#.Net 检查“进程”是否有 gui
【发布时间】:2020-06-21 14:18:48
【问题描述】:

有什么方法可以检查Process 类型的变量当前是否有打开的 GUI/窗口。

我正在使用它来尝试获取所有打开的应用程序(带有打开的 GUI),然后渲染它们的图标

【问题讨论】:

  • Process[] processes = Process.GetProcesses().Where(p => p.MainWindowHandle != IntPtr.Zero).ToArray();。不过,您可能想使用 WMI 的 Win32_Process class。

标签: c# .net winforms user-interface process


【解决方案1】:

我会尽量回答这个问题。

经过一番研究,我在UserInteractive Property看到了以下文章

所以也许你可以尝试这样的事情:

Environment.UserInteractive

上述属性是一个布尔值,如果当前进程在用户交互模式下运行,则返回true

你也可以看看这篇文章:MainWindowHandle Property

获取关联进程主窗口的窗口句柄,特别是IntPtr,是系统生成的关联进程主窗口的窗口句柄。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 2014-07-17
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多