0

目前我开始一个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 的参数,它是自动发生的,还是我必须在打开时设置它?如果是这样,那么我怎么能做到这一点?

编辑:

我的意思是保存是.. 我有一个带有文本框的表单,从那里你可以启动一个 EXE,例如 Stackoverflow.exe,在文本框中你可以写:“-hello”,现在下次你打开表单并选择FORM中的EXE,还有“-hello”写着,表示已经保存了,就是我想要的

4

4 回答 4

4

设置ProcessStartInfo.Arguments属性。它只是一串以空格分隔的参数。您需要引用任何包含空格等的路径名。这有点痛苦,但这就是那里:(

“保存”参数的含义并不清楚 - 没有什么会记住您上次用于启动进程并在下次应用相同内容时使用的参数,不。你必须自己做。你如何做到这一点取决于你在做什么 - 例如,你可以使用每个用户的设置,就像任何其他设置一样。

于 2011-10-24T14:39:34.517 回答
1

您可以简单地将第二个参数中的参数传递给 Process.Start 方法。IE:

Process.Start("IExplore.exe", "www.northwindtraders.com");

或者,您可以使用 ProcessStartInfo。IE:

ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.Arguments = "www.northwindtraders.com";
Process.Start(startInfo);

msdn的类参考中还有一些其他有用的例子

于 2011-10-24T14:40:53.497 回答
0

您将在processStartInfo.Arguments.

我不知道你保存它们是什么意思,但它不会做任何事情,因为它只是一个字符串。你可以自己用这个字符串做任何你想做的事情。

于 2011-10-24T14:39:35.640 回答
0

你也可以在你的类中使用Arguments属性。ProcessStartInfo

此外,论点不会被保存,为什么要保存?如果您在桌面上创建快捷方式,那么这些参数将存储在那里,并且您的可执行文件将使用存储的参数调用,但这与您的应用程序无关。

于 2011-10-24T14:42:02.167 回答