C# 如何从C中查找Windows通用应用程序Windows

C# 如何从C中查找Windows通用应用程序Windows,c#,uwp,C#,Uwp,我想写我自己的程序,让我在所有打开的窗口中选择一个窗口,并将此窗口的状态设置为顶部,以便此选定窗口始终显示在顶部 问题是。。。由于Windows 8有应用程序,实际上进程会出现在进程资源管理器中,但我选择的工具没有列出它。就像没有应用程序一样 我的消息来源如下: private void refreshWindowList(object sender, EventArgs e) { windowList.Items.Clear(); foreach (Process p in

我想写我自己的程序,让我在所有打开的窗口中选择一个窗口,并将此窗口的状态设置为顶部,以便此选定窗口始终显示在顶部

问题是。。。由于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应用程序


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

有些应用程序,例如Netflix,是使用HTML和JavaScript编写的。这些应用程序由以下主机托管:

[…]微软将WWAHost解释为“基于Internet Explorer的渲染平台”

通过在任务管理器中右键单击某个应用程序并选择“转到详细信息”,可以检查该应用程序是否存在这种情况:

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


你能澄清一下:问题是你找不到Windows通用应用程序吗?或者你不知道一旦找到它们该怎么办?你的问题不清楚,我找不到。我当然知道怎么处理它们了……好吧。我已经编辑了你的标题和标签,以反映问题是专门针对UWP应用程序的。也许你找不到它们,因为它们没有主窗口句柄?它就在那里,你就是认不出来。Netflix应用程序是用Javascript编写的,这种语言不支持创建可执行文件。它在主机内运行,就像它在浏览器内运行一样,主机进程名为WWAHost.exe谢谢您的提示。现在我可以像我所说的那样执行我的动作了。
Console.WriteLine(p.ProcessName); // WWAHost
Console.WriteLine(p.MainWindowTitle); // Netflix