我們經常會遇到在Winform或是WPF中點擊鏈接或按鈕打開某個指定的網址, 或者是需要打開電腦中某個指定的硬盤分區及文件夾, 甚至是"控制面板"相關的東西, 那麼如何做呢?
答案是使用System.Diagnostics.Process.Start()。它的作用是調用外部的命令。
先來看看它的調用方法:
Process.Start ()
Process.Start (ProcessStartInfo)
Process.Start (String)
Process.Start (String, String)
Process.Start (String, String, SecureString, String)
Process.Start (String, String, String, SecureString, String)
比如:
C# Code:
System.Diagnostics.Process IE = new System.Diagnostics.Process();
ie.StartInfo.FileName = "IEXPLORE.EXE";
IE.StartInfo.Arguments = @"http://www.brawdraw.com";
IE.Start();
簡潔的調用方式:
System.Diagnostics.Process.Start("http://www.brawdraw.com");
當然,你還可以使用其他浏覽器,如傲游而不是IE:
string mathonPath = @"C:\Program Files\Maxthon\\Maxthon.exe";
System.Diagnostics.Process p = new System.Diagnostics.Process();
//設定程序名
p.StartInfo.FileName = mathonPath;
p.StartInfo.Arguments = @"c:\";
p.Start();
如果你想用資源管理器打開C:\ ,那麼可以這樣做:
System.Diagnostics.Process.Start("explorer.exe", @"c:\");
更有人可能會問:“我要打開“添加或刪除程序”的面板或控制面板相關內容,可以嗎?”答案是肯定的!
如何做?答案是調用rundll32.exe,比如:
打開“添加或刪除程序”的面板:
System.Diagnostics.Process.Start("rundll32.exe", @"shell32.dll,Control_RunDLL appwiz.cpl,,1");
其中後面的"shell32.dll,Control_RunDLL appwiz.cpl,,1"是調用命令所需的參數了。
這裡說明一下,這類似於在Delphi中使用:
ShellExecute(Handle,''open'',''rundll32.exe'',''shell32.dll,Control_RunDLL sysdm.cpl'',