.net 中,使用c# 语言 ,执行exe程序。
最近在操作adb做一些事情,就需要开发个windows引用程序。在这里就需要使用winform来调用adb.exe来做事了。然而,要正确调用,还想要得到调用成功或者的失败的反馈。就需要做点事情了,需要对输出流和异常流进行重定向,其中总是遇到readToEnd方法的假死。查询了一些文档,终于找到一个比较好的实现。代码如下:
/// 执行exe
/// </summary>
public class ProcessExcuter
{
public static void Run(string exeFilePath, string args, out string res, out string error)
{
if (string.IsNullOrEmpty(exeFilePath) || !System.IO.File.Exists(exeFilePath))
{
throw new System.IO.FileNotFoundException();
}
if (string.IsNullOrEmpty(args))
{
throw new ArgumentException();
}
Process p;
p = new Process();
p.StartInfo.FileName = exeFilePath;
p.StartInfo.Arguments = args;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;
int time = 5000;
StringBuilder sbOut = new StringBuilder();
StringBuilder sbError = new StringBuilder();
try
{
p.Start();
p.ErrorDataReceived += new DataReceivedEventHandler(delegate(object sender, DataReceivedEventArgs e)
{
sbError.Append(e.Data+"\r\n");
});
p.OutputDataReceived += new DataReceivedEventHandler(delegate(object sender, DataReceivedEventArgs e)
{
sbOut.Append(e.Data + "\r\n");
});
p.BeginErrorReadLine();
p.BeginOutputReadLine();
p.WaitForExit(time);
}
finally
{
if (p != null)
{
p.Close();
p.Dispose();
p = null;
}
}
res = sbOut.ToString().Trim();
error = sbError.ToString().Trim();
} }
参考: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.beginerrorreadline.aspx
.net 中,使用c# 语言 ,执行exe程序。相关推荐
- window通过bat脚本执行exe程序
1. 执行exe程序 @echo on cd "C:\Users\li\AppData\Local\Programs\xxx" Start "" "x ...
- Unity Editor - 在编辑器模式下执行exe程序、打开文件、定位脚本行
执行exe程序.打开文件 当我们想在Unity 编辑器下 通过exe程序打开指定脚本时我们可以调用以下API 这里我是通过vscode 打开 lua 脚本 并定位到具体某一行. static void ...
- Asp.net中执行.EXE程序的方法
在无意中看到了网页中执行.exe应用程序的方法: 1.用.NET Framework中的Process类 添加引用using System.Diagnostics; 在按钮的单击事件处理程序中填入以下 ...
- bat执行exe程序_dos命令start教程,并行运行exe程序或者启动bat批处理cmd脚本
大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频. 今天我们学习DOS命令start这个命令,它可以启动一个EXE程序,也可以启动一个BAT批处理脚本, ...
- python设计图形界面执行exe程序_Python开发案例:设计启动工具箱,显示图形界面的方式...
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于云+社区,作者 用户2870857 转载地址 https://bl ...
- java process exe.exec 执行exe程序
以前好奇怎么让java调用普通的exe程序, 让exe程序协同java一起处理数据, 一直也没时间看. 只有这么两行零散的代码, 惭愧,没有实践过. 先堆这里. Process pro=exe.exe ...
- 使用python做一个pdf转图片的可执行exe程序
使用python做一个pdf转图片的可执行exe 1.安装环境 python3 模块:PymuPDF,pyinstaller import fitz import os import tkinterd ...
- java 执行exe程序
/**@PARAM command指exe程序所在路径**/ public static String executeCmd(String command) throws IOException { ...
- java调用exe_Windows系统中Java调用cmd命令及执行exe程序的方法
Java调用cmd命令,并输出显示信息: package com.anxin.cmd.test; import java.io.BufferedReader; import java.io.Input ...
最新文章
- TP-link 设置MAC地址过滤
- 2019-10-12 线性最小方差估计和正交定理
- Strange Memory Gym - 102832F
- xshell 秘钥连接_如何使用PuTTY和xshell 分别远程连接linux,并配置秘钥认证
- SpringMVC接收Post的实体/JSon数据
- 腾讯云直播sdk_官方推荐 | 2分钟带你认识腾讯云直播 CSS
- Android 系统性能优化(72)-----App启动优化
- f2blog最新注入漏洞
- 波形捕捉:(8)使用“捕捉缓冲区”
- cdoj 1328 卿学姐与诡异村庄 Label:并查集 || 二分图染色
- 第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【2】
- 软/硬件负载均衡产品 你知多少?
- git小乌龟安装_ROS系统安装与体验
- SQL中返回刚插入记录的ID
- faststone capture没声音
- IBM p720 在HMC上创建分区并安装AIX系统
- Ubuntu系统通用快捷键
- 服务器被ddos攻击?分析如何防止DDOS攻击?
- python importlib bootstrap_python - importlib._bootstrap和Python解释器初始化 - SO中文参考 - www.soinside.com...
- Python selenium —— 将你的自动化脚本打包成一个exe
热门文章
- MYSQL服务的极简免配置快绿色速安装法[适合新手和懒人]
- vue.js学习系列-第二篇
- 【TP5.0】tp5.0实现连接多个数据库,实现类似3.2M(‘table’,'prefix_','db_config2')的CURD操作...
- BeanShell中Getter和Setter语法
- Maven3.x 插件开发入门
- 基于bmob的校园资料分享互助平台
- (十五)java数组
- LAMP环境搭建之rpm软件包
- django使用auth模块进行身份认证
- 7.Deque的应用案例-回文检查