Use System.Diagnostics.Process.Start(). You will most likely want to use one 
of the variations that uses an instance of ProcessStartInfo. Here's one 
example:

        /*! Invokes the C++ compiler to compile the given file. The
                output filename is specified as objectFile. Additional compiler
                options can be given using the compilerOptions parameter.
        */
        public bool CompileCPPFile(string sourceFile, string objectFile, string 
compilerOptions)
        {
                string totalCompilerOptions;

                if (compilerOptions == null)
                        totalCompilerOptions = String.Format("-o {1} {0} {2}", 
sourceFile, 
objectFile);
                else
                        totalCompilerOptions = String.Format("-o {1} {0} {2}", 
sourceFile, 
objectFile, compilerOptions);

                ProcessStartInfo startInfo = new ProcessStartInfo(
                                "g++", totalCompilerOptions);

                Debug.WriteLine("Starting C++ compiler: " + startInfo.FileName 
+ " " +
                                startInfo.Arguments);

                startInfo.UseShellExecute = false;
                startInfo.RedirectStandardError = true;
                startInfo.RedirectStandardOutput = true;
                Process compiler = Process.Start(startInfo);

                compiler.StandardError.ReadToEnd();
                compiler.StandardOutput.ReadToEnd();
                compiler.WaitForExit();

                Debug.WriteLine(
                                String.Format("C++ compiler returns {0}", 
compiler.ExitCode) );

                return compiler.ExitCode == 0? true : false;
        }


On Wednesday 22 December 2004 11:38 am, Andreas Sliwka wrote:
> Greetings,
>  how would I start another program from within a mono program? I'm
> also interested in catching the programs output, but its secondary.
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to