See the question and my original answer on StackOverflow

The following sample Console Application code will minimize all shell explorer views that are opened on E:\ :

class Program
{
    static void Main(string[] args)
    {
        // add a reference to "Microsoft Shell Controls and Automation" COM component
        // also add a 'using Shell32;'
        Shell shell = new Shell();
        dynamic windows = shell.Windows(); // this is a ShellWindows object
        foreach (dynamic window in windows)
        {
            // window is an WebBrowser object
            Uri uri = new Uri((string)window.LocationURL);
            if (uri.LocalPath == @"E:\")
            {
                IntPtr hwnd = (IntPtr)window.HWND; // WebBrowser is also an IWebBrowser2 object
                MinimizeWindow(hwnd);
            }
        }
    }

    static void MinimizeWindow(IntPtr handle)
    {
        const int SW_MINIMIZE = 6;
        ShowWindow(handle, SW_MINIMIZE);
    }

    [DllImport("user32.dll")]
    private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
}

It's using the Shell Objects for Scripting. Note the usage of the dynamic keyword that's mandatory here because there is no cool typelib, and therefore no intellisense either.