程序调用 - 命令参数 和 返回值
2009-03-26 22:04
344 查看
以下是两个程序之前的调用, 主要是由主程序A去调用副程序B, 在B执行完后返回数据给A.
副程序B
主程序A
副程序B
//被调程序B static int Main(string[] args) { //程序当前工作目录 Console.WriteLine(System.Environment.CurrentDirectory); if (args != null) { for (int i = 0; i < args.Length; i++) { Console.WriteLine(string.Format("Number[{0}] value = {1}", i, args[i])); } return 2; } return 0; }
主程序A
//主调程序A static int Main(string[] args) { //声明一个程序信息类 System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo(); //设置外部程序名 Info.FileName = @"C:/程序B.exe"; //设置外部程序的启动参数(命令行参数)为test1 test2 Info.Arguments = "test1 test2"; //设置外部程序工作目录为 C:/ Info.WorkingDirectory = @"C:/"; //不显示外部程序的窗口 Info.CreateNoWindow = true; //关闭后才可以获取外部程序返回值, 否则有异常 Info.UseShellExecute = false; //允许获取外部程序返回值 Info.RedirectStandardOutput = true; //声明一个程序类 System.Diagnostics.Process Proc; try { //启动外部程序 Proc = System.Diagnostics.Process.Start(Info); } catch (System.ComponentModel.Win32Exception ex) { Console.WriteLine("系统找不到指定的程序文件。/r{0}", ex); return; } //打印出外部程序的开始执行时间 Console.WriteLine("外部程序的开始执行时间:{0}", Proc.StartTime); //等待3秒钟 Proc.WaitForExit(3000); //如果这个外部程序没有结束运行则对其强行终止 if (Proc.HasExited == false) { Proc.Kill(); Console.WriteLine("由主程序强行终止外部程序的运行!"); } else { Console.WriteLine("由外部程序正常退出!"); } Console.WriteLine("获取外部程序返回值..."); using (System.IO.StreamReader r = Proc.StandardOutput) { Console.WriteLine("--- Begin ---/r/n" + r.ReadToEnd() + "--- End ---"); } Console.WriteLine("外部程序的结束运行时间:{0}", Proc.ExitTime); Console.WriteLine("外部程序在结束运行时的返回值:{0}", Proc.ExitCode); }
相关文章推荐
- PHP中调用外部程序,及其参数与返回值
- Java程序调用带参数的shell脚本返回值
- PHP中调用外部程序,及其参数与返回值
- PHP中调用外部程序,及其参数与返回值
- 命令调用C#程序, 路径参数解析错误
- Java程序调用带参数的shell脚本返回值
- PHP中调用外部程序,及其参数与返回值
- PHP中调用外部程序,及其参数与返回值
- PHP中system,exec调用外部程序,及其参数与返回值 (转)
- Java程序调用带参数的shell脚本返回值
- java执行命令或调用其他exe程序的代码范例
- JNI实现回调| JNI调用JAVA函数|参数和返回值的格式
- dwr框架带参数,而且有返回值的方法调用
- Linux下Java程序调用Openssl命令实现内存中加密数据
- awk 调用 shell 命令,并传递参数
- 通过程序调用tomcat的manager的text模式的命令来自动部署项目
- 函数调用中参数和返回值的拷贝
- 在Python中调用shell命令及 获取python命令中的参数
- 使用ExternalInterface调用Flex方法-传参数、有返回值!
- Windows平台调用dos命令的程序