目前我开始一个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保存params,它会自动发生还是我必须在打开时设置它?如果是这样,那我怎么能实现呢?
编辑:
我的意思是保存是.. 我有一个带有Textbox的表单,从那里你可以启动一个EXE,通过示例Stackoverflow.exe并在文本框中你可以写:“ - hello”,现在下次打开表单并选择FORM中的EXE,有“-hello”仍然写着,这意味着它已被保存,这就是我想要的东西
答案 0 :(得分:4)
设置ProcessStartInfo.Arguments
属性。它只是一串空格分隔的参数。你需要引用任何包含空格等的路径名称。这有点痛苦,但那就是那里:(
通过“保存”参数并不是很清楚你的意思 - 没有什么会记住你上次用来启动一个过程的参数并且下次应用同样的事情,没有。你必须自己做。你如何做到这将取决于你正在做什么 - 你可以使用每用户设置,例如,与任何其他设置相同。
答案 1 :(得分:1)
您可以简单地将第二个参数中的参数传递给Process.Start方法。即:
Process.Start("IExplore.exe", "www.northwindtraders.com");
或者您可以使用ProcessStartInfo。即:
ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.Arguments = "www.northwindtraders.com";
Process.Start(startInfo);
中还有其他一些有用的例子
答案 2 :(得分:0)
您可以在processStartInfo.Arguments
中设置参数。
我不知道保存它们是什么意思,但它不会做任何事情,因为它只是一个字符串。你可以自己用这个字符串做任何你想做的事。
答案 3 :(得分:0)
您还可以使用ProcessStartInfo
课程中的Arguments媒体资源。
此外,参数不会被保存,为什么要这样做?如果在桌面上创建快捷方式,则会将这些参数存储在那里,并使用存储的参数调用可执行文件,但这与您的应用程序无关。