public static void InvokeExe(string[] arg)
{
#region
// 这里是要调用的可执行文件的文件夹目录
//string UG_USER_II = Environment.GetEnvironmentVariable("UGII_USER_DIR");
string dir0 = AppDomain.CurrentDomain.BaseDirectory;
// Process:提供对本地和远程进程的访问并使你能够启动和停止本地系统进程
Process process = new Process();
//MessageBox.Show(dir0);
// 初始化可执行文件的一些基础信息
process.StartInfo.WorkingDirectory = dir0; // 初始化可执行文件的文件夹信息
process.StartInfo.FileName = "exe的名称"; // 初始化可执行文件名
// 当我们需要给可执行文件传入参数时候可以设置这个参数
// "para1 para2 para3" 参数为字符串形式,每一个参数用空格隔开
process.StartInfo.Arguments = arg[0] + " " + arg[1] + " " + arg[2];
process.StartInfo.UseShellExecute = false; // 使用操作系统shell启动进程
process.StartInfo.CreateNoWindow = true;
string fileName = dir0 + "exe的名称";
//MessageBox.Show(fileName);
// 启动可执行文件
if (File.Exists(fileName))
{
process.Start();
process.WaitForExit();
}
else
{
MessageBox.Show("exe的名称文件不存在或者不在" + dir0 + "目录下面");
return;
}
#endregion
}
其中,arg[0]、arg[1]、arg[2]是exe执行时候的三个参数,以空格分开
process.WaitForExit()是等到进程结束,然后再运行下面的代码,就是阻塞型调用exe。