这里就用控制台打开,如果是 winform 项目,根目录会不一样
控制台程序:
string path = Environment.CurrentDirectory;
Winform:
string path = Application.StartupPath;
WPF:
string path = AppDomain.CurrentDomain.BaseDirectory;
方法1 无参数类型
/// <summary>
/// 启动程序
/// </summary>
/// <param name="path"></param>
static void StartProgram(string path)
{
ProcessStartInfo process = new ProcessStartInfo();
process.FileName = path;
process.UseShellExecute = false;
Process.Start(process);
}
这里传入一个程序的完整路径就好了
方法2 有参数类型
private void button1_Click(object sender, EventArgs e)
{
string path = "E:\\CSharp Project\\Test\\Test\\bin\\Debug\\Test.exe";
string[] parameter = {"启动器参数1", "启动器参数2", "启动器参数3", "启动器参数4" };
StartProcess(path, parameter);
}
/// <summary>
/// 启动一个软件,并传入参数
/// </summary>
/// <param name="runFilePath"></param>
/// <param name="args"></param>
/// <returns></returns>
public void StartProcess(string runFilePath, params string[] args)
{
string s = "";
foreach (string arg in args)
{
s = s + arg + " ";
}
s = s.Trim();
Process process = new Process();//创建进程对象
ProcessStartInfo startInfo = new ProcessStartInfo(runFilePath, s); // 括号里是(程序名,参数)
process.StartInfo = startInfo;
process.Start();
}
end