Locen0
Locen0

Reputation: 11

C# - Launch application with arguments.

Hello I've to Launch the software CFast for a Parametric Analysis. To do this, I want to create a application in C# that runs the core CFast.exe. If I want run the software from cmd.exe and execute it on the file INPUTFILENAME.in I write in prompt:

CFast.exe INPUTFILENAME

In C# I wrote the following code:

Process firstProc = new Process();
firstProc.StartInfo.FileName = @"C:\Users\Alberto\Desktop\Simulazioni Cfast\D\C\N\A3B1\CFAST.exe";
firstProc.StartInfo.Arguments = @"INPUTFILENAME";
firstProc.EnableRaisingEvents = true;
firstProc.Start();
firstProc.WaitForExit();

With this code CFast run but doesn't analyze anything... Seems like don't accept the argument. Hint for this trouble ?

Upvotes: 0

Views: 4172

Answers (1)

Locen0
Locen0

Reputation: 11

Solved. Mistake in the filename and in the syntax of the command

// setup cmd process
        var command = @"CFAST.exe C:\Users\Alberto\Desktop\Simulazioni_Cfast\D\C\N\A3B1\A3B1";
        ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + command);
        procStartInfo.RedirectStandardOutput = true;
        procStartInfo.UseShellExecute = false;
        procStartInfo.RedirectStandardError = true;
        procStartInfo.CreateNoWindow = true;

        // start process
        Process proc = new Process();
        proc.StartInfo = procStartInfo;
        proc.Start();

        proc.WaitForExit();

        // read process output
        string cmdError = proc.StandardError.ReadToEnd();
        string cmdOutput = proc.StandardOutput.ReadToEnd();

where A3B1 is the name of the file .IN

Upvotes: 0

Related Questions