【问题标题】:calling executable from a background process and passing a parameter to it从后台进程调用可执行文件并将参数传递给它
【发布时间】:2011-06-17 05:22:57
【问题描述】:

我有一个作为后台进程运行的控制台应用程序,并且有一个需要调用的 exe。这个 exe 将完整的填充路径作为参数,然后加密该文件。 我是这样做的:

Process.Start( "myapp.exe" );

但我想要的是这个:

Process.Start( "myapp.exe file1.txt" ); // File1 is parameter of that exe

但这不起作用。 寻求帮助和建议。

谢谢:)

【问题讨论】:

    标签: c# .net process executable exe


    【解决方案1】:

    Process.Start(the nameof the process>,the parameters>) 你的情况

    Process.Start("myapp.exe","file1.txt")
    

    【讨论】:

      【解决方案2】:
      Process.Start("[drive]:\[directory]\myapp.exe", "file1.txt");
      

      在指示的地方替换实际的驱动器和目录

      【讨论】:

        【解决方案3】:

        使用这样的东西:

        进程 p = new Process();

        p.StartInfo.UseShellExecute = false;

        p.StartInfo.FileName = "myApp.exe";

        p.StartInfo.Arguments = "file1.txt";

        p.Start();

        【讨论】:

        • UseShellExecute=false 是什么意思?
        • ShellExecute 本质上表示是否使用操作系统shell 来执行进程。当您想要启动与文档相关联的应用程序时,通常会使用 shell。因此,如果您“启动”一个 .htm 文件,它实际上会打开默认浏览器并显示 html 文件。在你的情况下,你不需要这个。
        【解决方案4】:

        试试Process.Start("myapp.exe", "file1.txt");

        【讨论】:

        • 不工作并不是一个很有帮助的声明。什么没用?它对我有用,因此您的应用程序路径或文档路径可能有问题。
        【解决方案5】:

        您想使用ProcessStartInfo 类。

        有关如何使用此功能的示例,请参阅 http://msdn.microsoft.com/en-us/library/system.diagnostics.process.startinfo.aspxhttp://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx

        使用Arguments 属性设置您的参数。

        【讨论】:

          猜你喜欢
          • 2011-08-02
          • 2018-09-30
          • 1970-01-01
          • 2017-07-06
          • 2013-11-21
          • 2012-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多