Dalam aplikasi WPF, ketika pengguna mengklik tombol Saya ingin membuka Windows explorer ke direktori tertentu, bagaimana saya melakukannya?
Saya mengharapkan sesuatu seperti ini:
Windows.OpenExplorer("c:\test");
Dalam aplikasi WPF, ketika pengguna mengklik tombol Saya ingin membuka Windows explorer ke direktori tertentu, bagaimana saya melakukannya?
Saya mengharapkan sesuatu seperti ini:
Windows.OpenExplorer("c:\test");
Jawaban:
Mengapa tidak Process.Start(@"c:\test");?
Start(dir)dan Start("explorer.exe", dir)adalah bahwa yang pertama akan cukup pintar untuk memfokuskan jendela yang ada dirjika ada, sementara yang kedua membuka jendela baru setiap saat.
Ini seharusnya bekerja:
Process.Start(@"<directory goes here>")
Atau jika Anda ingin metode untuk menjalankan program / membuka file dan / atau folder:
private void StartProcess(string path)
{
ProcessStartInfo StartInformation = new ProcessStartInfo();
StartInformation.FileName = path;
Process process = Process.Start(StartInformation);
process.EnableRaisingEvents = true;
}
Dan kemudian memanggil metode dan di dalam tanda kurung masukkan direktori file dan / atau folder di sana atau nama aplikasi. Semoga ini bisa membantu!
Anda bisa menggunakannya System.Diagnostics.Process.Start.
Atau gunakan WinApi langsung dengan sesuatu seperti berikut ini, yang akan meluncurkan explorer.exe. Anda dapat menggunakan parameter keempat untuk ShellExecute untuk memberikannya direktori awal.
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);
}
Deklarasi datang dari situs web pinvoke.net .
Process.Start("explorer.exe" , @"C:\Users");
Saya harus menggunakan ini, cara lain hanya menentukan dir tgt akan menutup jendela explorer ketika aplikasi saya dihentikan.
Access deniedpengecualian.
Process.Start("calc.exe");akan menjalankan Kalkulator. Anda bisa memberikannya path lengkap ke executable dan itu akan menjalankannya.