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",这意味着它已被保存,这就是我想要的

c#启动EXE与参数和保存

设置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属性。

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