C# 调用exe文件

一、创建一个TestControl控制台程序

1.在TestControl中打印入参信息

点击查看代码
class Program
{
    static void Main(string[] args)
    {
        if (args.Length > 0)
        {
            for (int i = 0; i < args.Length; i++)
            {
                Console.WriteLine($"打印入参数据{i}:" + args[i]);

                //to do 具体功能代码
            }
        }
        else
        {
            Console.WriteLine("没有参数传递过来!");
        }

        //线程睡8000毫秒,用于查看调用效果
        Thread.Sleep(8000);
    }
}

二、创建一个CallControl控制台程序

1.在CallControl中创建一个调用用exe方法

点击查看代码
class Program
{
    static void Main(string[] args)
    {
        //TestControl.exe 文件路径(也可通过配置文件的方式,设置调用exe程序的文件路径)
        string exePath = @"E:\ZKC_DevFolder\CSharpCallExeApp\CSharpCallExeAppProject\TestControl\bin\Debug\TestControl.exe";

        //创建一个进程实例
        Process pro = new Process();

        //启动进程
        pro.StartInfo.FileName = exePath;
        pro.StartInfo.UseShellExecute = false;
        //不创建窗口设置为:true;创建窗口设置为:false (测试了一下发现没有任何作用)
        pro.StartInfo.CreateNoWindow = false; 
        pro.StartInfo.RedirectStandardOutput = true;
        pro.StartInfo.Arguments = string.Format("{0} {1} {2} {3}", "参数1", "参数2", "参数3", "参数4");
        //开始执行
        pro.Start();
        //等待控制台程序执行完成
        pro.WaitForExit();
        //控制台程序执行完成才会有返回值
        string returnInfoStr = pro.StandardOutput.ReadToEnd();

        //打印调用可执行 TestControl.exe 文件的结果
        Console.WriteLine(returnInfoStr);
        Console.ReadLine();
    }
}

三、执行CallControl控制台程序

四、注意事项

1.在CallControl.exe入参时,需要保证每个参数中间没有空格。

2.如果参数中存在空格时,则程序会以空格自动进行分隔,

 如:“参 数1”,相当于输入了两个参数:“参”和“数1”

五、备注

1.本程序是在VisualStudio 2019中,进行测试验证的

2.本程序采用的.NETFramework框架

posted @ 2022-08-18 22:18  角印  阅读(1343)  评论(0编辑  收藏  举报