NX二次开发-建模-调用带参数启动的exe

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。

猜你喜欢

转载自blog.csdn.net/yang19861007/article/details/111590746