C#中怎么用process调用一个exe文件并传入参数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中怎么用process调用一个exe文件并传入参数?相关的知识,希望对你有一定的参考价值。
一个exe文件比如说是aaa.exe 这个是由一个控制台应用程序编译而成 aaa.exe需要2个参数(即main函数中的args)
我现在想在C#中 调用这个aaa.exe 并且传入2个参数 具体代码应该怎么写? 是用Process么?
如果要传入的参数中 有空格 怎么办。。。。。。
第一个参数是aaa.exe 的路径,第二个参数是用空格分开的两个参数组成的字符串。
aaa.exe中的main方法写做
static void Main(string[] args)
用Process.Start启动aaa.exe时main方法的args参数就是Process.Start传入参数用转换成的长度为2的数组 参考技术A Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine("ping -n 2 123.125.114.131");
p.StandardInput.WriteLine("exit");
这是调用cmd.exe来执行CMD命令的,你看看能不能对你有用 参考技术B System.Diagnostics.ProcessStartInfo myStartInfo = new System.Diagnostics.ProcessStartInfo();
myStartInfo.FileName = "C:\\test.exe";
System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo = myStartInfo;
myProcess.Start();
myProcess.WaitForExit(); //等待程序退出 参考技术C C#中怎么用process调用一个exe文件并传入参数?
System.Diagnostics.Process.Start("程序的路径", "参数1 参数2");
第一个参数是aaa.exe 的路径,第二个参数是用空格分开的两个参数组成的字符串。
aaa.exe中的main方法写做
static void Main(string[] args)
用Process.Start启动aaa.exe时main方法的args参数就是Process.Start传入参数用转换成的长度为2的数组
代码如下 调exe的写法:
static void Main(string[] args)
System.Diagnostics.Process.Start(@"E:\SouceCode\WindowsFormsApplication1 - 副本\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe", "参数1 参数2");
被调的写法:
static void Main(string[] args)
if (args.Length > 0)
string canshu1 = args[0];
string canshu2 = args[1];
MessageBox.Show(canshu1);
MessageBox.Show(canshu2);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
参考技术D aaa.exe 参数1 参数2
以上是关于C#中怎么用process调用一个exe文件并传入参数?的主要内容,如果未能解决你的问题,请参考以下文章