一、创建一个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框架