一、system.Diagnostics.Product.start方法
主要用来启动一个进程资源,例如:打开一个exe,根据路径打开一个文件夹,打开一个txt,我工作项目中主要是用来打开exe。
二、start重载
微软提供了5个方法重载Process.Start 方法 (System.Diagnostics) | Microsoft Docs:
1、Start(string filename, string arguments,string userName,SecureString password, string domain),
filename为应用程序文件名
arguments 为需要传入的参数
username为打开这个进程的操作人
password为启动进程时使用的密码
domain为启动进程时的域。
2、Start(string filename, string userName,SecureString password, string domain)
filename为应用程序文件名
username为打开这个进程的操作人
password为启动进程时使用的密码
domain为启动进程时的域。
3、Start(string filename,string arguments)
filename为应用程序文件名
arguments 为参数
4、Start()
启动(或重用)此 Process 组件的 StartInfo 属性指定的进程资源,并将其与该组件关联。
5、Start(string filename)
filename:要在进程中运行的文档或应用程序文件的名称。
另外还有一个方法其实是把参数封装到一个类里面,Start直接传:Start(ProcessStartInfo info),
这个ProcessStartInfo就包含启动进程的一组参数。
三、实际应用
1、根据路径打开一个exe,并传入一个参数
Process.Start(D:\\Client\\RMClient.exe,"addmin 2 23333");
注意,第二个参数:arguments,如果你是需要传入多个参数,那每个参数之间用空格隔开,比如上面的例子,实际exe中接收到的参数有三个:admin,2 和23333,如果你的参数中间本来就有空格,那就可以把参数用引号引起来,比如"\"admin 123\" 333 33",实际这里面也是三个参数:admin 123,333和33。
2、打开一个txt文档
Process.Start("IExplorer.exe","E:\\text.txt");
3、打开一个exe,没有任何参数
Process.Start("D:\Client\RMClient.exe");
4、利用ProcessStartInfo
System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo();
processStartInfo.FileName = "explorer.exe"; //资源管理器
processStartInfo.Arguments = @"D:\";
System.Diagnostics.Process.Start(processStartInfo);