当两个项目间需要联合使用来达到某种目的时,我们需要在当前程序启动另外一个程序。
常见的例子就是在某个解决方案中,本来属于使用场景不同的项目由于二者之间在某个特定时间,需要修改另一个程序的参数,或者查看某些系数等等。
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
Info.FileName = "另一程序.exe";
Info.WorkingDirectory = @"存放另一程序的目录";
Info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
System.Diagnostics.Process Proc;
try
{
Proc = System.Diagnostics.Process.Start(Info);
System.Threading.Thread.Sleep(500);
}
catch (System.ComponentModel.Win32Exception)
{
return;
}
该示例中,我们可以发现System.Diagnotics空间用来管理进程。而程序之间的运行,就是用进程这个防火墙来保证相互不受干扰。如果需要进行进程间的通信,可以用Channel[Remoting]技术