C# 调用其他程序
2018-02-06 13:36
169 查看
本来是在写微信跳一跳辅助要用到adb,所以才想要调用其他EXE。刚好最近要写一个切换Keil主题的小程序,想不到又要用到这个小东西...想想不如直接拿出来,也好之后再用。
代码:
public class ExeRnuuer
{
/// <summary>
/// 执行cmd命令
/// 多命令请使用批处理命令连接符:
/// <![CDATA[
/// &:同时执行两个命令
/// |:将上一个命令的输出,作为下一个命令的输入
/// &&:当&&前的命令成功时,才执行&&后的命令
/// ||:当||前的命令失败时,才执行||后的命令]]>
/// 其他请百度
/// </summary>
/// <param name="cmd"></param>
/// <param name="output"></param>
public static void RunExe(string ExePath,string cmd, out string output)
{
cmd = cmd.Trim().TrimEnd('&') + "&exit";//说明:不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态
using (Process p = new Process())
{
p.StartInfo.FileName = ExePath;
p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动
p.StartInfo.RedirectStandardInput = true; //接受来自调用程序的输入信息
p.StartInfo.RedirectStandardOutput = true; //由调用程序获取输出信息
p.StartInfo.RedirectStandardError = true; //重定向标准错误输出
p.StartInfo.CreateNoWindow = true; //不显示程序窗口
p.Start();//启动程序
//向cmd窗口写入命令
p.StandardInput.WriteLine(cmd);
p.StandardInput.AutoFlush = true;
//获取cmd窗口的输出信息
output = p.StandardOutput.ReadToEnd();
p.WaitForExit();//等待程序执行完退出进程
p.Close();
}
}
}
另:微信跳一跳C#源码
代码:
public class ExeRnuuer
{
/// <summary>
/// 执行cmd命令
/// 多命令请使用批处理命令连接符:
/// <![CDATA[
/// &:同时执行两个命令
/// |:将上一个命令的输出,作为下一个命令的输入
/// &&:当&&前的命令成功时,才执行&&后的命令
/// ||:当||前的命令失败时,才执行||后的命令]]>
/// 其他请百度
/// </summary>
/// <param name="cmd"></param>
/// <param name="output"></param>
public static void RunExe(string ExePath,string cmd, out string output)
{
cmd = cmd.Trim().TrimEnd('&') + "&exit";//说明:不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态
using (Process p = new Process())
{
p.StartInfo.FileName = ExePath;
p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动
p.StartInfo.RedirectStandardInput = true; //接受来自调用程序的输入信息
p.StartInfo.RedirectStandardOutput = true; //由调用程序获取输出信息
p.StartInfo.RedirectStandardError = true; //重定向标准错误输出
p.StartInfo.CreateNoWindow = true; //不显示程序窗口
p.Start();//启动程序
//向cmd窗口写入命令
p.StandardInput.WriteLine(cmd);
p.StandardInput.AutoFlush = true;
//获取cmd窗口的输出信息
output = p.StandardOutput.ReadToEnd();
p.WaitForExit();//等待程序执行完退出进程
p.Close();
}
}
}
另:微信跳一跳C#源码
相关文章推荐
- 在C#中简单调用FindWindow控制其他程序
- 在使用C#调用COM组件操作Excel的时候阻止其他程序对此文件操作
- C#调用其他程序,比如控制别的程序上的按钮 分类: .NET 2012-04-19 16:50 2216人阅读 评论(0) 收藏
- C# 设置当前程序调用的dll文件以及其他文件的寻址路径
- C#调用其他程序,比如控制别的程序上的按钮
- c# 调用c++dll挂钩其他程序线程或者进程
- C# 使用 Environment.GetCommandLineArgs 方法 制作*.exe和参数 供其他程序调用
- C# 使用 Environment.GetCommandLineArgs 方法 制作*.exe和参数 供其他程序调用
- C#的dll被其他程序调用时,获取此dll正确的物理路径
- 【进程间的通信】☞项目引入——C#通过Windows API 调用其他程序、触发按钮Click事件
- C#程序实现动态调用DLL的研究
- 程序调用ShellExecuteEx打开其他程序(兼容UAC获取管理员权限)
- 将一个Activity共享成一个Action供其他程序调用
- C#实现对程序打包调用
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- C#调用执行程序
- WIN服务程序调用其他程序
- C# 编译生成dll文件供程序调用的两种方法
- C# 调用其它程序 Process.Start 方法
- android 如何调用(打开)其他程序