Search code examples
c#-4.0start-process

How to call C .exe file from C#?


I have an .exe file which was written in C. It is a command line application. I want give command line and also get correspond output in this application through a C# application.

How do I invoke the command and get the output from C#?


Solution

  • You could use the Process.Start method:

    class Program
    {
        static void Main()
        {
            var psi = new ProcessStartInfo
            {
                FileName = @"c:\work\test.exe",
                Arguments = @"param1 param2",
                UseShellExecute = false,
                RedirectStandardOutput = true,
            };
            var process = Process.Start(psi);
            if (process.WaitForExit((int)TimeSpan.FromSeconds(10).TotalMilliseconds))
            {
                var result = process.StandardOutput.ReadToEnd();
                Console.WriteLine(result);
            }
        }
    }