运行外部程序

原创 2006年05月22日 09:39:00

/// <summary>
/// 运行外部程序
/// </summary>
/// <param name="exeName">程序路径</param>
/// <returns>0:失败,1:成功</returns>
public bool RunIt( string exeName )
{
//声明一个程序信息类
System.Diagnostics.ProcessStartInfo  Info  =  new  System.Diagnostics.ProcessStartInfo();
//设置外部程序名
Info.FileName  = exeName;
//声明一个程序类
try
{
System.Diagnostics.Process  Proc  ;
Proc  =  System.Diagnostics.Process.Start(Info);
return true;
}
catch
{
return false;
}
}


/// <summary>
/// 判断是否运行
/// </summary>
/// <param name="exeName">程序名</param>
/// <returns>0:没运行,1:运行中</returns>
public bool IsRun( string exeName )
{
string isrunning = "0";
Process[] myProcesses = Process.GetProcesses();
foreach(Process myProcess in myProcesses)
{

if ( myProcess.ProcessName == exeName )
{
isrunning = "1";
break;
}
}
if ( isrunning == "1" )
{
return true;
}
else
{
return false;
}
}

 


/// <summary>
/// 结束进程
/// </summary>
/// <param name="exeName">进程名</param>
/// <returns>0:失败,1:成功</returns>
public bool Kill( string exeName )
{
string isrunning = "0";
Process[] myProcesses = Process.GetProcesses();
foreach(Process myProcess in myProcesses)
{

if ( myProcess.ProcessName == exeName )
{
try
{
myProcess.Kill();
isrunning = "1";
}
catch
{
isrunning = "0";
}
break;
}
}
if ( isrunning == "1" )
{
return true;
}
else
{
return false;
}
}

///////////////////////////////
using System;
using System.Diagnostics;


namespace ZZ
{
 /// <summary>
 /// CmdUtility 的摘要说明。
 /// </summary>
 public class CmdUtility
 {
  //private Process process;

  /// <summary>
  /// 构造函数
  /// </summary>
  public CmdUtility()
  {
   //this.process = new Process();
  }
  /// <summary>
  /// 执行单条命令
  /// </summary>
  /// <param name="commandText">命令文本</param>
  /// <returns>命令输出文本</returns>
  public static string ExeCommand(string commandText)
  {
   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();
    p.StandardInput.WriteLine(commandText);
    p.StandardInput.WriteLine("exit");
    //string formats = s.Replace("/r","").Replace("/n","/r/n");
    strOutput = p.StandardOutput.ReadToEnd();
    p.WaitForExit();
    p.Close();
   }
   catch(Exception e)
   {
    strOutput = e.Message;
   }
   return strOutput;
  }
  /// <summary>
  /// 执行多条命令
  /// </summary>
  /// <param name="commandArray">命令文本数组</param>
  /// <returns>命令输出文本</returns>
  public static 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>
  /// 启动外部应用程序
  /// </summary>
  /// <param name="appName">应用程序路径名称</param>
  /// <returns>true表示成功,false表示失败</returns>
  public static bool StartApp(string appName)
  {
   bool blnRst = false;
   Process p = new Process();
   p.StartInfo.FileName = appName;//exe,bat and so on
   p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
   try
   {
    p.Start();
    p.WaitForExit();
    p.Close();
    //while (!p.HasExited)
    //{
    // Thread.Sleep(1000);
    //}
    blnRst = true;
   }
   catch
   {
   }
   return blnRst;
  }
  /// <summary>
  /// 启动外部应用程序
  /// </summary>
  /// <param name="appName">应用程序路径名称</param>
  /// <param name="style">进程窗口模式</param>
  /// <returns>true表示成功,false表示失败</returns>
  public static bool StartApp(string appName,ProcessWindowStyle style)
  {
   bool blnRst = false;
   Process p = new Process();
   p.StartInfo.FileName = appName;//exe,bat and so on
   p.StartInfo.WindowStyle = style;
   try
   {
    p.Start();
    p.WaitForExit();
    p.Close();
    blnRst = true;
   }
   catch
   {
   }
   return blnRst;
  }
  /// <summary>
  /// 启动外部应用程序
  /// </summary>
  /// <param name="appName">应用程序路径名称</param>
  /// <param name="arguments">启动参数</param>
  /// <returns>true表示成功,false表示失败</returns>
  public static bool StartApp(string appName,string arguments)
  {
   bool blnRst = false;
   Process p = new Process();
   p.StartInfo.FileName = appName;//exe,bat and so on
   p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
   p.StartInfo.Arguments = arguments;
   try
   {
    p.Start();
    p.WaitForExit();
    p.Close();
    blnRst = true;
   }
   catch
   {
   }
   return blnRst;
  }
  /// <summary>
  /// 启动外部应用程序
  /// </summary>
  /// <param name="appName">应用程序路径名称</param>
  /// <param name="arguments">启动参数</param>
  /// <param name="style">进程窗口模式</param>
  /// <returns>true表示成功,false表示失败</returns>
  public static 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;
  }
         }

相关文章推荐

Android studio百度地图获取测试版(debug,开发版)和发布版(release)的sha1方法,'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。

Android studio百度地图获取sha1时,分为开发版sha1和发布版sha1,按照方法大部分可以获取到,但是开发版的获取有,'keytool' 不是内部或外部命令,也不是可运行的程序或批处理...

程序在外部RAM运行的例子 -ARM

  • 2010年01月17日 16:08
  • 43KB
  • 下载

java 不是内部或外部命令,也不是可运行程序

配置JAVA环境变量如下: 1.下载安装jdk 2.安装完成后,右击“我的电脑”,点击“属性”;  3.选择“高级”选项卡,windows 7选择左边的“高级系统设置”,点击“环境变量”;  ...

'gulp'不是内部或者外部命令,也不是可运行的程序或批处理文件

安装gulpnpm i -g gulp安装完成后,要开始使用gulp进行build工作,cmd却发现找不到gulp,提示'gulp'不是内部或者外部命令,也不是可运行的程序或批处理文件 这样的问题应...
  • xinluke
  • xinluke
  • 2016年09月09日 17:45
  • 7397

C#从程序内部运行一个外部程序

  • 2012年04月25日 00:42
  • 15KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:运行外部程序
举报原因:
原因补充:

(最多只允许输入30个字)