C#调用Exe程序示例

在编写程序时经常会使用到调用可执行程序的情况,本文将简单介绍C#调用exe的方法。在C#中,通过Process类来进行进程操作。 Process类在System.Diagnostics包中。

示例一

using System.Diagnostics;

Process p = Process.Start("notepad.exe");
p.WaitForExit();//关键,等待外部程序退出后才能往下执行

通过上述代码可以调用记事本程序,注意如果不是调用系统程序,则需要输入全路径。

示例二

当需要调用cmd程序时,使用上述调用方法会弹出令人讨厌的黑窗。如果要消除,则需要进行更详细的设置。

Process类的StartInfo属性包含了一些进程启动信息,其中比较重要的几个

FileName                可执行程序文件名

Arguments              程序参数,已字符串形式输入 
CreateNoWindow     是否不需要创建窗口 
UseShellExecute      是否需要系统shell调用程序

通过上述几个参数可以让讨厌的黑屏消失

System.Diagnostics.Process exep = new System.Diagnostics.Process();
exep.StartInfo.FileName = binStr;
exep.StartInfo.Arguments = cmdStr;
exep.StartInfo.CreateNoWindow = true;
exep.StartInfo.UseShellExecute = false;
exep.Start();
exep.WaitForExit();//关键,等待外部程序退出后才能往下执行

或者

System.Diagnostics.Process exep = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = binStr;
startInfo.Arguments = cmdStr;
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
exep.Start(startInfo);
exep.WaitForExit();//关键,等待外部程序退出后才能往下执行
时间: 2024-08-03 08:29:23

C#调用Exe程序示例的相关文章

[转]自定义URL Protocol Handler,从网页调用EXE程序

转自:http://www.cnblogs.com/zjneter/archive/2008/01/08/1030066.html 迅雷,电驴等软件可以在浏览器中点击一个url后自动启动,并执行操作.这是咋实现的呢? 要实现这个功能笼共分3步.(我们注册一个xishui:// 这样的 protocol-handler,实现在网页中点击xishui://hello,就弹出一个对话框,上面显示"hello")1 按照如下结构建立注册表  其中 [xishui] 是建立在注册表的 [HKEY

python3调用exe程序编写cve20190708批量检测工具

1.python3调用exe程序编写cve20190708批量检测工具 工具下载地址: https://www.qianxin.com/other/CVE-2019-0708 由于这个exe程序只是单IP扫描版本,于是使用python3修改为批量扫描脚本版本 #!/usr/bin/python3 #-*- coding:utf-8 -*- #编写环境 windows 7 x64 Notepad++ + Python3.5.0 import os import sys def main(): #需

.net调用.exe程序

1. 较为简单的.exe程序可采用进程调用 Process.Start("D:\\emr\\emras.exe", para); 解析:参数1为.exe的存放路径,参数2为.exe的执行参数 2. 如果.exe程序中还有其他调用,则上述方法可能在运行过程中报错. 这种情况下,可采用直接调用cmd的执行方式 [DllImport("kernel32.dll")]public static extern int WinExec(string exeName, int o

使用java代码调用exe程序 (包括参数传递)

使用Java代码调用exe 1使用场景 我现在使用eclipse+tomcat的架构建立了web server, 在这个web project中我需要建立一个定时任务,在定时任务中执行本地的一个C#工程生成的exe. 2Java代码 public class MyTask extends TimerTask { public void run() { System.out.println("call at " + (new Date())); // TODO æ­¤å¤?æ·»å? å

C# 如何以参数的形式调用.exe程序

System.Diagnostics.Process.Start("程序的路径", "参数1 参数2");第一个参数是aaa.exe 的路径,第二个参数是用空格分开的两个参数组成的字符串.aaa.exe中的main方法写做static void Main(string[] args)用Process.Start启动aaa.exe时main方法的args参数就是Process.Start传入参数用转换成的长度为2的数组 参考 C#中怎么用process调用一个exe文

Js调用exe程序方法

(通过URL Protocol实现网页调用本地应用程序) 1.使用记事本(或其他文本编辑器)创建一个protocal.reg文件,并写入以下内容 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Webshell] @="URL:Webshell Protocol Handler" "URL Protocol"="" [HKEY_CLASSES_ROOT\Webshell\Defaul

6 Runtime类调用exe程序

package com.bowen.dong; import java.io.IOException; import java.util.Properties; import java.util.Set; /** * * @author bw * */ public class Test { public static void main(String[] args) throws IOException, InterruptedException { //获取Runtime类对象,注意不能ne

apache通过cgi调用exe程序

windows下,使用c写了一个简单的cgi程序,生成exe类型的可执行文件,代码如下: 1 #include<stdio.h> 2 int main() 3 { 4 printf("Content-Type:text/html\n\n"); 5 printf("Hello,world!\n"); 6 return 0; 7 } 怎样使apache加载生成的exe文件?只需要两步即可实现: 1.配置cgi程序所在目录 2.使apache能该识别exe文件

python 调用exe程序

#!/usr/bin/python #-*- coding:utf-8 -*- import os, subprocess import tkMessageBox import msg_box def get_path_from_disk(process_name):     for path in path_list:         for dirpath, dirnames, filenames in os.walk(path):             for file in filen