一、

try
{
//方法一
//调用自己的exe传递参数
//Process proc = new Process();
//proc.StartInfo.FileName = @"D:\\hotelsoft\\zk.exe";
//proc.Start();
//Thread.Sleep(3000);//暂停3秒
//foreach (System.Diagnostics.Process pro in System.Diagnostics.Process.GetProcessesByName("zk"))
//{
// 查找并关闭进程
// pro.Kill();
//} //方法二
ProcessStartInfo startInfo = new ProcessStartInfo(@"D:\\hotelsoft\\zk.exe");
startInfo.WindowStyle = ProcessWindowStyle.Minimized; Process.Start(startInfo);
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}

二、

//调用外部程序导cmd命令行
    Process p = new Process();
    p.StartInfo.FileName = "cmd.exe";
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardInput = true;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.CreateNoWindow = false;
    p.Start(); 
    / /向cmd.exe输入command 
    p.StandardInput.WriteLine("cd C:\\Inetpub\\wwwroot\\Paicdom\\PaWebService\\PaWeb\\Manage\\Exportcsv");
    //cmd又调用了ociuldr.ex
    p.StandardInput.WriteLine("ociuldr.exe");
    p.StandardInput.WriteLine("exit"); //需要有这句,不然程序会挂机
    //string output = p.StandardOutput.ReadToEnd(); 这句可以用来获取执行命令的输出结果

我在ASP.NET中调用,一直想看看到执行窗口,但无论怎么设置参数,都看不到。不知如何。

三、

C#程序作为调用这需要生成一个Progress类,该类提供了调用EXE可执行文件所用到的属性和事件.System.Diagnostics.Process pExecuteEXE = new System.Diagnostics.Process();
pExecuteEXE.StartInfo.FileName = @"E:\Delphi.exe";
pExecuteEXE.StartInfo.Arguments = "'paramstr1 paramstr2,paramstr3'";
pExecuteEXE.Start();
pExecuteEXE.WaitForExit();//无限期等待完成
//pExecuteEXE.WaitForExit(10000);//等待最长10秒钟完成。Delphi可执行程序作为被调用程序,主要是接收参数信息,执行程序,由于程序执行程序完毕不能返回给调用程序信息,只能将信息写入某一位置等待调用者读取。
procedure    TForm1.Button1Click(Sender:    TObject);   
    
var   
       i:integer;   
begin   
     self.Caption   :='';   
    for i:=0 to paramcount do
     begin   
         self.Caption   :=self.Caption+ '['+inttostr(i)+':'+paramstr(i)+']';   
     end;   
    
end;   

完成后退出。

这里是一个简单的调用例子,可以效仿:
*   功         能:通过C#程序调用   Windows   记事本程序   编辑一个
*   名为   test.txt   的文本文件。
*
*   在整个程序中   System.Diagnostics.Process.Start(Info)  
*   为主要语句。
*   如果只是单独执行一个外部程序,可用一条如下代码即可:
*   System.Diagnostics.Process.Start(
*   "外部程序名","启动参数");
*/

using   System;

class   test
{
static   void   Main()
{

//声明一个程序信息类
System.Diagnostics.ProcessStartInfo   Info   =   new   System.Diagnostics.ProcessStartInfo();

//设置外部程序名
Info.FileName   =   "notepad.exe";

//设置外部程序的启动参数(命令行参数)为test.txt
Info.Arguments   =   "test.txt";

//设置外部程序工作目录为   C:\
Info.WorkingDirectory   =   "C:\\";

//声明一个程序类
System.Diagnostics.Process   Proc   ;

try
{
//
//启动外部程序
//
Proc   =   System.Diagnostics.Process.Start(Info);
}
catch(System.ComponentModel.Win32Exception   e)
{
Console.WriteLine("系统找不到指定的程序文件。\r{0}",   e);
return;
}

//打印出外部程序的开始执行时间
Console.WriteLine("外部程序的开始执行时间:{0}",   Proc.StartTime);

//等待3秒钟
Proc.WaitForExit(3000);

//如果这个外部程序没有结束运行则对其强行终止
if(Proc.HasExited   ==   false)
{
Console.WriteLine("由主程序强行终止外部程序的运行!");
Proc.Kill();
}
else
{
Console.WriteLine("由外部程序正常退出!");
}
Console.WriteLine("外部程序的结束运行时间:{0}",   Proc.ExitTime);
Console.WriteLine("外部程序在结束运行时的返回值:{0}",   Proc.ExitCode);
}
}

ASP.NET、C#调用外部可执行exe文件--多种方案的更多相关文章

  1. Matlab中调用VS编译的exe文件并传递变量 的方法

    经历::在网上找了很多方法,都没有实现在matlab中调用vs的exe文件并且能够传递变量参数,一些小细节花费了自己很多时间,比喻忽略了一些空格!  网上很多的方法都是纯粹复制别人的方法,自己都没有去 ...

  2. Python:构建可执行exe文件

    学习自: Python 程序打包成 exe 可执行文件 - 不夜男人 - 博客园 Python生成Windows可执行exe文件 - 韩小北 - 博客园 pyinstaller参数介绍以及总结_Bea ...

  3. c# Winform 调用可执行 exe 文件

    c#是一个写windows桌面小工具的好东西,但有个时候,我们需要在 winform 程序中调用其他的 exe 文件,那么该如何实现呢? 如果只是拉起一个 exe 文件,可以参考如下方法实现: str ...

  4. linux上jenkins连接windows并执行exe文件

    1.如果要通过ssh的方式来连接windows的话,首先需要在windows上安装freesshd来配置启动.配置ssh(win10上自带了openssh可以进行安装使用,但我机器装不上) 1.1.下 ...

  5. linux系统执行.exe文件

    首先要了解一下Wine: Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 ...

  6. Python生成Windows可执行exe文件

    环境 python3.6.5 pyinstaller3.5 windows 10 下载地址 python:https://www.python.org/ftp/python/3.6.5/python- ...

  7. python制作电脑可执行exe文件

    python获取IP.主机名.mac地址 关注公众号"轻松学编程"了解更多. 制作get_IP.py文件: import socket import uuid # 获取主机名 ho ...

  8. shell调用sqlplus批量执行sql文件

    在最近的工作中,经常需要批量执行一些DML, DDL, PL/SQL语句或导入一些Function, Procedure.因为support的国家比较多,常常需要一个登陆到一个国家的数据库上执行完成后 ...

  9. python生成可执行exe文件

    为什么要生成可执行文件 不需要安装对应的编程环境 可以将你的应用闭源 用户可以方便.快捷的直接使用 打包工具 pyinstaller 安装pyinstaller pip install pyinsta ...

随机推荐

  1. Android中的Binder机制的简要理解

    转载自:http://www.linuxidc.com/Linux/2012-07/66195.htm http://blog.csdn.net/sunxingzhesunjinbiao/articl ...

  2. TCP/IP --- UDP Broadcast Address

    Related information link : 百度百科---->广播地址 Use restrictions: 1. You can only broadcast on the same ...

  3. Nginx个人简单理解

    首先我们来补充下一些基本知识: 什么是代理服务器? 先举个简单的例子,现在我们在百度访问谷歌的网站,发现现在进不去,这个时候我们可以FQ(关于FQ,可以借鉴下这个博文:http://zhangge.n ...

  4. HTTPS 客户端验证 服务端证书流程

    网上的文章很多, 但是对摘要的验证流程不够通俗易懂. QQ截图20160420114804.png 证书预置和申请 1:客户端浏览器会预置根证书, 里面包含CA公钥2:服务器去CA申请一个证书3: C ...

  5. char *p = "abcdefg"; p[0] = p[1]出错

    参考:http://blog.sina.com.cn/s/blog_5c0172280100ut4o.html 1.char *s="abc"; 看这个赋值: 右边,是" ...

  6. Lambda表达式 和 Expression<T>

    经常用的Lambda表达式 返回的是  Expression<T> 格式 public class ActivityService { private readonly List<A ...

  7. re正则表达式16_managing complex regexes

    Managing Complex Regexes Regular expressions are fine if the text pattern you need to match is simpl ...

  8. Struct Member Default Value

    在C#中struct是值类型的数据类型,其默认值相当于调用了无参数默认构造函数之后的值.这也许就是struct不允许重载无参数默认构造函数的原因. https://msdn.microsoft.com ...

  9. 免费api大全

    天气接口 气象局接口 完整数据:http://m.weather.com.cn/data/101010100.html 解析 用例 当天数据:http://www.weather.com.cn/dat ...

  10. How to convert any valid date string to a DateTime.

    DateTimeFormatInfo pattern = new DateTimeFormatInfo() { ShortDatePattern = "your date pattern&q ...