Как я могу открыть Windows Explorer для определенного каталога из приложения WPF?

Не забывайте, что необходимо записать 10x покрытие кода в модульных тестах для замены то, что делает компилятор: D

, которым я был там, сделал это с динамическими языками, и я не вижу абсолютно никакого преимущества.

140
задан Edward Tanguay 17 November 2009 в 01:44
поделиться

2 ответа

Почему бы не Process.Start (@ "c: \ test"); ?

290
ответ дан 23 November 2019 в 23:14
поделиться

Вы можете использовать System.Diagnostics.Process.Start .

Или используйте WinApi напрямую с чем-то вроде следующего, чтобы запустить explorer.exe. Вы можете использовать четвертый параметр для ShellExecute, чтобы указать ему начальный каталог.

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);
}

Объявления взяты с веб-сайта pinvoke.net .

11
ответ дан 23 November 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: