在 .net 中如何判断 Microsoft Windows 11 应用程序(如截图工具)是否 运行

In .net how to tell if a Microsoft Windows 11 app, like the snipping tool, is running

Microsoft 已将其截图工具更改为 Windows11。它的名称与 W10 中的“SnippingTool.exe”相同,但位于不同的位置并且具有不同的行为。

无论如何,我想弄清楚的是如何以编程方式确定它是否为 运行。

对于 W10 版本,以下功能非常有用:

Dim IsSnippingToolRunning as Boolean = (Diagnostics.Process.GetProcessesByName("snippingtool").Length > 0)

但是不适用于 W11 版本。

当它是 运行 时,我尝试查看所有 运行 进程名称,但看不到一个 这对应于 W11 截图工具处于活动状态(尽管它是在我进行检查时)。

好像ScreenClippingHost.exe是你要的进程名。我能够使用优秀的 Process Explorer:

快速找到它
  1. 启动进程资源管理器
  2. 使用 ctrl+shift+S
  3. 打开截图工具
  4. 使用 esc
  5. 关闭截图工具
  6. 使用 space 暂停 Process Explorer 的刷新,然后查找 recently-launched 个进程(以绿色突出显示):