gpt4 book ai didi

c# - 如何从 C# 查找 Windows 通用应用程序窗口

转载 作者:行者123 更新时间:2023-12-01 22:24:32 24 4
gpt4 key购买 nike

我想编写自己的程序,让我从所有打开的窗口中选择一个窗口,并将该窗口的状态设置为 TOP,这样所选的窗口将始终显示在顶部!

问题...从 Windows 8 开始就有应用程序,实际上进程会出现在进程资源管理器中,但我选择的工具没有列出它。 (就像没有应用程序一样)

我的来源如下:

private void refreshWindowList(object sender, EventArgs e)
{
windowList.Items.Clear();

foreach (Process p in Process.GetProcesses().Where(pp => pp.MainWindowHandle != IntPtr.Zero && pp.ProcessName != "explorer"))
{
windowList.Items.Add(p.ProcessName);
}
}

当我打开组合框并在每次查看列表时实际刷新项目时,会调用此函数。

我找到了正常的程序,但是有办法找到 Win 8/10 应用程序吗?

编辑澄清:可以找到像记事本这样的正常进程。但是 Windows 通用应用程序,例如Netflix 不能。至少我不知道如何找到它们。

最佳答案

一些应用程序,例如Netflix 是使用 HTML 和 JavaScript 编写的。这些应用程序由 WWAHost 托管:

[...] Microsoft explains WWAHost as “an Internet Explorer-based rendering platform.”

您可以通过在任务管理器中右键单击某个应用并选择转到详细信息来检查该应用是否属于这种情况:

task manager processes

task manager details

要了解正在托管哪个应用程序,您可以使用 MainWindowTitle

Console.WriteLine(p.ProcessName); // WWAHost
Console.WriteLine(p.MainWindowTitle); // Netflix

关于c# - 如何从 C# 查找 Windows 通用应用程序窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35274796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com