.NET 程序,调用其它程序

类别:.NET开发 点击:0 评论:0 推荐:

.NET  程序,调用其它程序


using System;
using System.Diagnostics;

namespace Jmv_Demo
{
 /// <summary>
 /// CmdUtility 的摘要说明。
 /// </summary>
 public class CmdUtility
 {
  
  /// <summary>
  /// 执行cmd.exe命令
  /// </summary>
  /// <param name="commandText">命令文本</param>
  /// <returns>命令输出文本</returns>
  public string ExeCommand(string commandText)
  {
   return ExeCommand(new string []{commandText});
  }
  /// <summary>
  /// 执行多条cmd.exe命令
  /// </summary>
  /// <param name="commandArray">命令文本数组</param>
  /// <returns>命令输出文本</returns>
  public string ExeCommand(string [] commandTexts)
  {
   Process p = new Process();
   p.StartInfo.FileName = "cmd.exe";
   p.StartInfo.UseShellExecute = false;
   p.StartInfo.RedirectStandardInput = true;
   p.StartInfo.RedirectStandardOutput = true;
   p.StartInfo.RedirectStandardError = true;
   p.StartInfo.CreateNoWindow = true;
   string strOutput = null;
   try
   {
    p.Start();
    foreach(string item in commandTexts)
    {
     p.StandardInput.WriteLine(item);
    }
    p.StandardInput.WriteLine("exit");
    strOutput = p.StandardOutput.ReadToEnd();
    p.WaitForExit();
    p.Close();
   }
   catch(Exception e)
   {
    strOutput = e.Message;
   }
   return strOutput;
  }
  /// <summary>
  /// 启动外部Windows应用程序,隐藏程序界面
  /// </summary>
  /// <param name="appName">应用程序路径名称</param>
  /// <returns>true表示成功,false表示失败</returns>
  public bool StartApp(string appName)
  {
   return StartApp(appName,ProcessWindowStyle.Hidden);
  }
  /// <summary>
  /// 启动外部应用程序
  /// </summary>
  /// <param name="appName">应用程序路径名称</param>
  /// <param name="style">进程窗口模式</param>
  /// <returns>true表示成功,false表示失败</returns>
  public bool StartApp(string appName,ProcessWindowStyle style)
  {
   return StartApp(appName,null,style);
  }
  /// <summary>
  /// 启动外部应用程序,隐藏程序界面
  /// </summary>
  /// <param name="appName">应用程序路径名称</param>
  /// <param name="arguments">启动参数</param>
  /// <returns>true表示成功,false表示失败</returns>
  public bool StartApp(string appName,string arguments)
  {
   return StartApp(appName,arguments,ProcessWindowStyle.Hidden);
  }
  /// <summary>
  /// 启动外部应用程序
  /// </summary>
  /// <param name="appName">应用程序路径名称</param>
  /// <param name="arguments">启动参数</param>
  /// <param name="style">进程窗口模式</param>
  /// <returns>true表示成功,false表示失败</returns>
  public bool StartApp(string appName,string arguments,ProcessWindowStyle style)
  {
   bool blnRst = false;
   Process p = new Process();
   p.StartInfo.FileName = appName;//exe,bat and so on
   p.StartInfo.WindowStyle = style;
   p.StartInfo.Arguments = arguments;
   try
   {
    p.Start();
    p.WaitForExit();
    p.Close();
    blnRst = true;
   }
   catch
   {
   }
   return blnRst;
  }

 }
}

本文地址:http://com.8s8s.com/it/it41992.htm