问题背景:
我想要通过一个button_click打开一个.exe,这个.exe文件需要一些参数才能运行,使用Process.Start有没有可能完成?
我该怎么完成?
一般的打开方式是运行在这个.exe的目录下一个.bat文件,内容如下:
Client.exe -s 192.1.1.1 -p 1234 -u username -v 1.0.1
目前使用的方法是这样的:
1.通过File.WriteAllText生成一个.bat
2.调用.bat
------解决思路----------------------
Process p = new Process
{
StartInfo =
{
FileName = @"C:\Windows\System32\ping.exe",
Arguments = "127.0.0.1"
}
};
p.Start();
------解决思路----------------------
方法很多
1.像1楼那样Process直接传递参数
2.调用命令行(cmd指令)打开文件并传递参数
3.调用bat文件
------解决思路----------------------
可以这样实现:(以下是调用两个参数的exe使用方法)我就是通过这种方法来调用beyondcomy的
string addr1 = “S:\TEST\TEST1.TXT”;
string addr2 = “S:\TEST\TEST2.TXT”;
Process p = new Process();
p.StartInfo.FileName = @"D:\Program Files (x86)\TEST\TEST.exe";
p.StartInfo.Arguments = "\"" + addr1 + "\"" + " \"" + addr2 + "\"";
p.Start();
------解决思路----------------------
等启动完了就不是启动参数了,而是进程间通讯,有点复杂了两边都要处理,一边发送,一边接收,通讯技术有许多:
有共享内存,UDP/TCP套接字,WINDOWS消息,命名管道等