运行外部程序

原创 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;
  }
         }

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

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

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

今天在新电脑上尝试给一个安卓设备截屏,不过在控制台中遇到提示: adb不是内部命令或外部命令,也不是可运行的程序或批处理文件 在另外一台上是可以正常截屏的,看来就是Windows环境变...
  • zhouyingge1104
  • zhouyingge1104
  • 2017年03月14日 20:16
  • 3426

系统cmd命令提示符出现“不是内部或外部命令,也不是可运行的程序或批处理文件”

声明下:本教程支持win10、win8.1/8、win7、winxp等windows桌面系统。 首先我们需要打开系统的环境变量,那么在哪里能找到环境变量呢?当然是在系统属性里了。 tips...
  • AinUser
  • AinUser
  • 2017年04月28日 10:24
  • 2884

精彩编程与编程技巧-监视外部程序的运行情况...

  • 2009年10月10日 17:49
  • 1KB
  • 下载

将外部程序运行于本身窗口内(易语言)

  • 2011年03月30日 16:40
  • 5KB
  • 下载

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

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

关于Fluent:nmake不是内部命令或外部命令,也不是可运行程序

  • 2011年01月12日 11:24
  • 16KB
  • 下载

用JAVA调用外部程序并截出程序运行结果

  • 2011年08月24日 14:23
  • 7KB
  • 下载

3.8_C#从程序内部运行一个外部程序

  • 2013年02月08日 18:15
  • 8KB
  • 下载

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

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

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