Puede utilizar System.Diagnostics.Process.Start
.
O use el WinApi directamente con algo como lo siguiente, que iniciará explorer.exe. Puede usar el cuarto parámetro para ShellExecute para darle un directorio de inicio.
public partial class Window1 : Window
{
public Window1()
{
ShellExecute(IntPtr.Zero, "open", "explorer.exe", "", "", ShowCommands.SW_NORMAL);
InitializeComponent();
}
public enum ShowCommands : int
{
SW_HIDE = 0,
SW_SHOWNORMAL = 1,
SW_NORMAL = 1,
SW_SHOWMINIMIZED = 2,
SW_SHOWMAXIMIZED = 3,
SW_MAXIMIZE = 3,
SW_SHOWNOACTIVATE = 4,
SW_SHOW = 5,
SW_MINIMIZE = 6,
SW_SHOWMINNOACTIVE = 7,
SW_SHOWNA = 8,
SW_RESTORE = 9,
SW_SHOWDEFAULT = 10,
SW_FORCEMINIMIZE = 11,
SW_MAX = 11
}
[DllImport("shell32.dll")]
static extern IntPtr ShellExecute(
IntPtr hwnd,
string lpOperation,
string lpFile,
string lpParameters,
string lpDirectory,
ShowCommands nShowCmd);
}
Las declaraciones provienen de la pinvoke.net website.
@DanM Esto claramente no es un duplicado del enlace que ha enumerado. En ese caso, el usuario ya sabe sobre process.start. En este caso, el usuario no tiene idea de qué usar para abrir una carpeta. Explique su proceso de pensamiento detrás de marcar esto como un duplicado. Estaré esperando. –