C#中启动进程的三种办法

11/20/2009来源:C#教程人气:8746

1.启动子进程,不等待子进程结束view plaincopy to clipboardPRint?
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
private void simpleRun_Click(object sender, System.EventArgs e)   
{ System.Diagnostics.Process.Start(@"C:listfiles.bat");   
}  
private void simpleRun_Click(object sender, System.EventArgs e)
{ System.Diagnostics.Process.Start(@"C:listfiles.bat");
}


2.启动子进程,等待子进程结束,并获得输出view plaincopy to clipboardprint?
private void runSyncAndGetResults_Click(object sender, System.EventArgs e)   
{   
    System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(@"C:\listfiles.bat");    
    psi.RedirectStandardOutput = true;    
    psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;    
    psi.UseShellExecute = false;    
    System.Diagnostics.Process listFiles;    
    listFiles = System.Diagnostics.Process.Start(psi);    
    System.IO.StreamReader myOutput = listFiles.StandardOutput;    
    listFiles.WaitForExit(2000);   
       
    if (listFiles.HasExited)     
    {     
        string output = myOutput.ReadToEnd();     
        this.processResults.Text = output;    
    }   
}  
private void runSyncAndGetResults_Click(object sender, System.EventArgs e)
{
    System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(@"C:\listfiles.bat");
    psi.RedirectStandardOutput = true;
    psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    psi.UseShellExecute = false;
    System.Diagnostics.Process listFiles;
    listFiles = System.Diagnostics.Process.Start(psi);
    System.IO.StreamReader myOutput = listFiles.StandardOutput;
    listFiles.WaitForExit(2000);
    
    if (listFiles.HasExited)  
    {  
        string output = myOutput.ReadToEnd();  
        this.processResults.Text = output;
    }
}


3.使用默认的浏览器打开URLview plaincopy to clipboardprint?
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
private void launchURL_Click(object sender, System.EventArgs e)   
{    
    string targetURL = @http://www.duncanmackenzie.net;    
    System.Diagnostics.Process.Start(targetURL);   
}