如何使用 windows 访问应用程序并在 uwp 中关闭它们

How to access apps with windows and close them in uwp

在 wpf 中,您可以使用 windows 访问应用程序,如果您有 ID,则可以关闭它们。

来自 wpf 的代码示例获取应用程序的方法

private List<Process> GetProcessesWithWindow()
    {
        List<Process> processwithwindow = new List<Process>();

        Process[] processes = Process.GetProcesses();

        foreach (Process p in processes)
        {
            if (!String.IsNullOrEmpty(p.MainWindowTitle))
            {
                processwithwindow.Add(p);
            }
        }
        return processwithwindow;

    }
}

}

现在是阻止他们的人

        Task Blocker = new Task(() =>
            {
                while (M != minutes)
                {
                    processwithwindow = GetProcessesWithWindow();

                    foreach (Process p in processwithwindow)
                    {

                    if (Usefulprograms.Any(program => program.Id == p.Id ) == false)
                        {
                             p.Kill();
                        }

                    }
                };
            }
            );

在 uwp 中有实现这个的方法吗? 我寻找并且唯一找到的就是这个 api https://blogs.windows.com/windowsdeveloper/2017/06/28/uwp-app-diagnostics/ 但这只允许我访问 uwp 应用程序,我无法获取 mainwindotitle 或 kill 等方法的属性。

There it's a way to achieve this in uwp?

不,在 UWP 应用程序中无法做到这一点。 UWP 应用 运行 在与系统隔离的沙箱中。因此 UWP 应用无法直接对系统进程执行操作。 UWP App Diagnostics API 还表明您只能获取有关进程的信息。

There it's a way to achieve this in uwp?

不能直接使用,因为该应用程序在具有有限权限的安全受限沙箱中运行。这是为 UWP 应用设计的。

但是,您可以在运行 GetProcessesWithWindow() 方法的 UWP 应用程序中添加一个 full-trust 桌面扩展组件。请参阅 Stefan Wick's blog 了解更多信息和示例。