获取资源管理器.exe进程的所有实例

本文关键字:实例 进程 资源管理器 exe 获取 | 更新日期: 2023-09-27 18:30:35

我想将所有正在运行的进程列出到一个自制任务栏控件中。

虽然我可以很好地获得所有进程,但资源管理器的服务器实例.exe不会列出。(我打开了几个文件夹,它应该列出所有文件夹,但它只显示一个。

以下是我用来获取所有正在运行的进程的代码

private void LoadApps()
{
    Process[] process = Process.GetProcesses();
    IntPtr child = IntPtr.Zero;
    panel.Children.Clear();
    foreach (Process p in process)
    {
        if(p.MainWindowHandle != IntPtr.Zero && p.MainWindowTitle.Length > 0)
        {
            System.Drawing.Icon ico = System.Drawing.Icon.ExtractAssociatedIcon(module.GetExecutablePath(p));
            Image btn = new Image();
            btn.Source = ico.ToImageSource();
            btn.Margin = new Thickness(4, 4, 4, 4);
            btn.Height = panel.Height;
            btn.Width = 32;
            btn.Tag = p.MainWindowHandle;
            panel.Children.Add(btn);
        }
    }
}

还有其他方法可以列出正在运行的进程吗?

或者使用的方法是否有解决方法..

获取资源管理器.exe进程的所有实例

资源管理器.exe总是只运行一次。如果要获取所有打开的资源管理器窗口,则必须使用WinAPI。这个线程应该可以帮助你:如何找到所有窗口?