2009-08-27 59 views
4

有沒有關於如何在C#中打開或執行某些窗口程序的解決方案/參考?例如,如果我想打開WinZIP或記事本應用程序?在c#中執行/打開程序

代碼行示例更有幫助。但任何東西都受到歡迎

謝謝。

+1

爾加。多少種變體「我如何在C#中執行另一個程序?」 SO存在的問題? – 2009-08-27 07:05:28

回答

16

您可以使用System.Diagnostics.Process.Start方法。

Process.Start("notepad.exe"); 

它將與已關聯的默認程序文件的工作:

Process.Start(@"C:\path\to\file.zip"); 

將打開它的默認應用程序文件。

即使使用URL打開瀏覽器:

Process.Start("http://stackoverflow.com"); // open with default browser 

同意@OliverProcessStartInfo給你更多的控制權的過程中,例如:

ProcessStartInfo startInfo = new ProcessStartInfo(); 

startInfo.FileName = "notepad.exe"; 
startInfo.Arguments = "file.txt"; 
startInfo.WorkingDirectory = @"C:\path\to"; 
startInfo.WindowStyle = ProcessWindowStyle.Maximized; 

Process process = Process.Start(startInfo); 

// Wait 10 seconds for process to finish... 
if (process.WaitForExit(10000)) 
{ 
    // Process terminated in less than 10 seconds. 
} 
else 
{ 
    // Timed out 
} 
+3

爲了更好地控制流程的開始方式,您應該查看ProcessStartInfo,它也可以用作Process.Start()的參數。看看這裏:http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo_members.aspx – Oliver 2009-08-27 06:33:58

+0

是的代碼工程!非常感謝,反應也非常快。 – user147685 2009-08-27 07:12:55