How can I open Windows Explorer to a certain directory from within a WPF app?

Viewed 173752

In a WPF application, when a user clicks on a button I want to open the Windows explorer to a certain directory, how do I do that?

I would expect something like this:

Windows.OpenExplorer("c:\test");
5 Answers
Process.Start("explorer.exe" , @"C:\Users");

I had to use this, the other way of just specifying the tgt dir would shut the explorer window when my application terminated.

Here's what worked for me:

Basically use the command line to call "start C:/path" And exit the terminal afterward, so "start c:/path && exit"

WindowsExplorerOpen(@"C:/path");

        public static void WindowsExplorerOpen(string path)
        {
            CommandLine(path, $"start {path}");
        }

        private static void CommandLine(string workingDirectory, string Command)
        {
            ProcessStartInfo ProcessInfo;
            Process Process;

            ProcessInfo = new ProcessStartInfo("cmd.exe", "/K " + Command + " && exit");
            ProcessInfo.WorkingDirectory = workingDirectory;
            ProcessInfo.CreateNoWindow = true;
            ProcessInfo.UseShellExecute = true;
            ProcessInfo.WindowStyle = ProcessWindowStyle.Hidden;

            Process = Process.Start(ProcessInfo);
            Process.WaitForExit();
        }

Neither of these worked for me:

Process.Start(@"c:\test");
Process.Start("explorer.exe" , @"C:\Users");
Related