在安装任何应用程序期间.通常要求用户在开始安装之前关闭所有窗口.如果没有,安装将停在中间
并要求用户关闭所有打开的窗口.
我被要求在XXX应用程序中添加代码.当应用程序运行并且用户打开任何其他窗口时(例如:浏览,浏览器,单词等)
那么应用程序应该抛出一个窗口,说明你打开了 windows列表.
我请你告诉我如何从C#开始.
并要求用户关闭所有打开的窗口.
我被要求在XXX应用程序中添加代码.当应用程序运行并且用户打开任何其他窗口时(例如:浏览,浏览器,单词等)
那么应用程序应该抛出一个窗口,说明你打开了 windows列表.
我请你告诉我如何从C#开始.
解决方法
测试一下:
var openWindowProcesses = System.Diagnostics.Process.GetProcesses() .Where(p => p.MainWindowHandle != IntPtr.Zero && p.ProcessName != "explorer");
openWindowProcesses应该包含他们有一个活动主窗口的所有打开的应用程序.
我将p.ProcessName!=“explorer”放在where表达式中,因为资源管理器是桌面的主要进程,它永远不会被关闭.
要观察进程的执行,可以使用ManagementEventWatcher类.请看this.