Code Bye

如何为一个程序添加启动参数

我想要通过一个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


10分
Process p = new Process
{
    StartInfo =
    {
        FileName = @"C:\Windows\System32\ping.exe", 
        Arguments = "127.0.0.1"
    }
};
p.Start();

10分
方法很多
1.像1楼那样Process直接传递参数
2.调用命令行(cmd指令)打开文件并传递参数
3.调用bat文件

10分
可以这样实现:(以下是调用两个参数的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();
/div>
引用 2 楼 Z65443344 的回复:

方法很多
1.像1楼那样Process直接传递参数
2.调用命令行(cmd指令)打开文件并传递参数
3.调用bat文件

呃,三位说的这个方法应该是这样的:先启动*.exe,然后传参数给在运行的*.exe,这是我的问题,我没有说清楚。
我要启动的程序是这样的,它得有服务器ip、端口等参数才能启动,也就是说参数先传给程序,程序才能执行这样的情况,不知道有没有高手能帮我解决


10分
等启动完了就不是启动参数了,而是进程间通讯,有点复杂了两边都要处理,一边发送,一边接收,通讯技术有许多:
有共享内存,UDP/TCP套接字,WINDOWS消息,命名管道等
你是不知道 Process.Start 方法如何给要启动的程序传命令行参数呢?还是不知道程序如何在启动后获取自己接收的命令行参数呢?
引用 6 楼 sp1234 的回复:

你是不知道 Process.Start 方法如何给要启动的程序传命令行参数呢?还是不知道程序如何在启动后获取自己接收的命令行参数呢?

不知道前者,关于程序启动前Process.start如何传参数的希望能够帮我解答,非常感谢!


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明如何为一个程序添加启动参数