示例#1
0
        public static List <string> CallProgram(string program_full_path, string args)
        {
            try
            {
                using (Process process = new Process())
                {
                    process.StartInfo.FileName               = program_full_path;
                    process.StartInfo.Arguments              = args;
                    process.StartInfo.UseShellExecute        = false;
                    process.StartInfo.CreateNoWindow         = true;
                    process.StartInfo.RedirectStandardError  = true;
                    process.StartInfo.RedirectStandardOutput = true;
                    process.Start();

                    OutputReader output       = new OutputReader(process.StandardOutput, 100);
                    Thread       outputReader = new Thread(new ThreadStart(output.ReadOutput));
                    outputReader.Start();

                    process.WaitForExit();
                    outputReader.Join(1000);

                    var res = output.Output.Split("\n\r".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList <string>();
                    return(res);
                }
            }
            catch (Exception)
            {
                return(new List <string>()
                {
                });
            }
        }
示例#2
0
        public static List<string> CallProgram(string program_full_path, string args)
        {
            try
            {
                using(Process process = new Process())
                {
                    process.StartInfo.FileName = program_full_path;
                    process.StartInfo.Arguments = args;
                    process.StartInfo.UseShellExecute = false;
                    process.StartInfo.CreateNoWindow = true;
                    process.StartInfo.RedirectStandardError = true;
                    process.StartInfo.RedirectStandardOutput = true;
                    process.Start();

                    OutputReader output = new OutputReader(process.StandardOutput, 100);
                    Thread outputReader = new Thread(new ThreadStart(output.ReadOutput));
                    outputReader.Start();

                    process.WaitForExit();
                    outputReader.Join(1000);

                    var res =  output.Output.Split("\n\r".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList<string>();
                    return res;
                }
            }
            catch(Exception)
            {
                return new List<string>() {};
            }
        }