c#启动EXE与参数和保存
本文关键字:保存 参数 启动 EXE | 更新日期: 2023-09-27 18:12:07
现在我开始一个exe文件,所以:
System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo();
processStartInfo.FileName = "Stackoverflow.exe";
processStartInfo.WorkingDirectory = ConfigurationManager.AppSettings["Path"] + name + @"'bin";
System.Diagnostics.Process.Start(processStartInfo);
如果我想添加参数,我会在这里做,对吗?:
System.Diagnostics.Process.Start(processStartInfo, params);
如果没有,在哪里?
另一件事是,我想保存exe的参数,它是自动发生的还是我必须设置这个,而打开?如果是这样,我该如何实现呢?
编辑:我说save的意思是…我得到了一个带有文本框的窗体,从那里你可以启动一个EXE,例如Stackoverflow.exe,在文本框中你可以写:"-hello",现在下次你打开窗体并选择窗体中的EXE时,仍然写着"-hello",这意味着它已被保存,这就是我想要的
设置ProcessStartInfo.Arguments
属性。它只是一串以空格分隔的参数。你需要引用任何包含空格等的路径名。这有点痛苦,但就是这样:
你所说的"保存"参数是什么意思不是很清楚——没有东西会记住你上次用来启动进程的参数,下次也不会应用同样的东西。你得自己去做。如何做到这一点将取决于您正在做的其他事情-例如,您可以使用每个用户设置,与任何其他设置的方式相同。
您可以简单地将第二个参数中的参数传递给Process。Start方法。即:
Process.Start("IExplore.exe", "www.northwindtraders.com");
或者你可以使用ProcessStartInfo。即:
ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.Arguments = "www.northwindtraders.com";
Process.Start(startInfo);
在msdn的类参考
您可以在processStartInfo.Arguments
中设置参数。
我不知道你保存它们是什么意思,但它不会做任何事情,因为它只是一个字符串。你可以对这个字符串做任何你想做的事情。
您也可以在ProcessStartInfo
类中使用Arguments属性。
同样,参数不会被保存,为什么要保存呢?如果您在桌面上创建快捷方式,那么这些参数将存储在那里,您的可执行文件将使用存储的参数调用,但这与您的应用程序无关。