在c#中调用另一个应用程序或命令行(.exe 带参数)

在.net中使用system.diaglostics.Process可以用来调用另一个命令行或程序。

using  System.Diagnostics;

如果是dos

Process.Start("cmd.exe");

如果是其他文件

Process.Start("绝对路径+文件名.exe");

------------------------------------

如何在c#中调用外部dos程序?

使用Process对象:

 System.Diagnostics.Process   p=new   System.Diagnostics.Process();
  p.StartInfo.FileName="arj.exe"   ;//需要启动的程序名
  p.StartInfo.Arguments="-x   sourceFile.Arj   c:temp";//启动参数
  p.Start();//启动
  if(p.HasExisted)//判断是否运行结束
   p.kill();

---------------------------------------------------------------------------------------- ------

///  <summary>
  ///  启动其他的应用程序 
  ///  </summary>
  ///  <param  name="file">应用程序名称</param>
  ///  <param  name="workdirectory">应用程序工作目录</param>
  ///  <param  name="args">命令行参数</param>
  ///  <param  name="style">窗口风格</param>
  public  static  bool  StartProcess(string  file,string  workdirectory,string  args,ProcessWindowStyle  style)
  {
  try
  {
  Process  myprocess  =  new  Process();
  ProcessStartInfo  startInfo  =  new  ProcessStartInfo(file,args);
  startInfo.WindowStyle  =  style;
  startInfo.WorkingDirectory  =  workdirectory;
  myprocess.StartInfo  =  startInfo;
  myprocess.StartInfo.UseShellExecute  =  false;
  myprocess.Start();
  return  true;
  }
  catch(Exception  e0)
  {
  MessageBox.Show("启动应用程序时出错!原因:"  +  e0.Message);
  }
  return  false;
  }

  string  parms  =  ""  +  GlobalObject.GetInstance().UserID  +  "  "  +  GlobalObject.GetInstance().UserPassword;
  if  (PublicMethods.StartProcess(Application.StartupPath  +  @"uptooluptool.exe",Application.StartupPath  +  "UpTool",parms,ProcessWindowStyle.Normal))
  {
  Environment.Exit(0);
  } 
---------------------------------------------------------------------------- ----------------

时间: 2024-08-04 07:42:54

在c#中调用另一个应用程序或命令行(.exe 带参数)的相关文章

iOS 如何在一个应用程序中调用另一个应用程序

原则上iOS的沙箱原理,是阻止一个app去访问其他app的资源乃至是系统底层的资源的但是我们可以通过一种变相的方式:通过对应的URL模式和其他程序进行通讯. iOS应用之间的调用步骤: 一, 调用自己开发的应用  1)在plist文件中,注册对外接口  在xcode group&files 里面,展开 resources选择info.plist 鼠标右击information property list ,然后从列表中选择URL types 右击 add row 添加一个对象(item)右击it

如何在预存程序中调用另外一个预存程序

要在一个预存程序中调用另外一个预存程序,可以使用下列两种方式之一进行调用: EXECUTE <欲执行之预存程序的名称> -或- EXEC <欲执行之预存程序的名称> 若被调用的欲执行之预存程序的名称拥有传回值,且您需要接收该传回值,则在执行该欲执行之预存程序的时候,必须使用 OUTPUT 关键词来让被调用的预存程序可以接收回传值.只是您必须先在被调用的预存程序中,利用 OUTPUT 关键词来加以建立并指定要回传的数值之数据型别.如下所示即是一例: CREATE PROCEDURE

android在程序中调用另一个apk行不行?

问题描述 android在程序中调用另一个apk行不行? android在程序中调用另一个apk行不行?如果行,请问怎么实现? 解决方案 参考:http://www.cnblogs.com/winxiang/archive/2012/05/04/2482883.html 解决方案二: http://www.cnblogs.com/winxiang/archive/2012/05/04/2482883.html 解决方案三: 可以,看你想实现什么功能了. 解决方案四: 这个很容易 利用Intent

Call 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。_DOS/BAT

Call 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序.call 命令接受用作调用目标的标签.如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用. 语法 call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]] 参数 [Drive:}[Path] FileName  指定要调用的批处理程序的位置和名称.filename 参数必须具有 .bat 或 .cmd 扩展名.  BatchPara

如何在一个JSP页面中调用另一个JSP页面中的变量

在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象-request对象获取参数: (1)通过超链接传参: 例:把a.jsp中i的值传到b.jsp中: 在a.jsp页面中的核心代码为: <a href="b.jsp?i=1">传参</a>     (说明:给i赋值时也可以用jsp表达式,例如i=<%变量名 %>) 在b.jsp页面中的核心

vs2008-如何在ocx控件中调用另一个已经封装完整的ocx控件?

问题描述 如何在ocx控件中调用另一个已经封装完整的ocx控件? ocx开发初学者一名. 手上有一个完整的ocx控件A,我希望在另一个控件B中插入这个A.在调用控件B的界面中可以看到A的界面.就像用一个exe调用ocx一样实现是否可行? vs2008环境.

jsp中调用上一个网页中调用的js里面的input text的值

问题描述 jsp中调用上一个网页中调用的js里面的input text的值 套了一个时间选择的模板,想要获取开始时间和结束时间,但是这两个出现在调用的js里面,怎么获取 解决方案 将控件绑定id,js中有通过id设置控件内容的方法 解决方案二: 当前网页和上一个网页是什么关系?iframe还是window.open? iframe可以用parent或者document.getElementById('ifrID').contentWindow得到相互引用, window.open用opener或

action 没有跳转-Action中调用另一个类中的方法时没有跳转,但是新建的其他测试类就可以跳转,WHY?

问题描述 Action中调用另一个类中的方法时没有跳转,但是新建的其他测试类就可以跳转,WHY? action中调用EmailUtil中的sendHtmlMail方法: public void forgetPassword() throws Exception { String email = request.getParameter("email"); User u=userService.getByEmail(email); Json json=new Json(); if (St

php在文件中调用另一个类(.php),写什么能输出调用的内容在哪一行啊

问题描述 php在文件中调用另一个类(.php),写什么能输出调用的内容在哪一行啊 php在文件中调用另一个类(.php),写什么能输出调用的内容在哪一行啊 解决方案 你是不是要追源代码呀?我一般都是用IDE来追源代码的 解决方案二: 没有搞明白你这个需求的作用是什么,是刚性需求? 解决方案三: 故意传一个错误的参数,然后报错就知道啦