C#调用EXE文件实现传参和获取返回结果

首先,我们需要知道C#调用EXE文件实现传参和获取返回结果的基本流程。具体流程如下:

1.使用Process类启动外部EXE程序。

2.在ProcessStartInfo对象中设置使用的外部程序、参数和重定向标准输入输出等配置。

3.使用Process类的StandardInput属性向外部程序写入数据。

4.使用Process类的StandardOutput属性读取来自外部程序的输出。

以下是两个简单的示例:

示例1:调用cmd.exe执行命令并获取输出结果

// 创建ProcessStartInfo对象,设置要执行的命令和参数
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C dir";  // 执行dir命令
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.CreateNoWindow = true; 

// 创建Process对象并启动进程
Process process = new Process();
process.StartInfo = startInfo;
process.Start();

// 向cmd.exe输入数据
process.StandardInput.WriteLine("input command");
process.StandardInput.Flush();
process.StandardInput.Close();

// 读取cmd.exe输出
string output = process.StandardOutput.ReadToEnd();

// 打印输出结果
Console.WriteLine(output);

// 等待进程退出
process.WaitForExit();

示例2:调用自定义的EXE程序并传入参数


// 创建ProcessStartInfo对象,设置要执行的外部程序和参数
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "myexe.exe"; // 设置要执行的程序
startInfo.Arguments = "arg1 arg2 arg3"; // 设置传递给程序的参数

// 启动外部程序
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();

// 获取程序输出
string output = process.StandardOutput.ReadToEnd();
Console.Write(output);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#调用EXE文件实现传参和获取返回结果 - Python技术站

(1)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • .NET Core类库项目中读取appsettings.json配置的方法

    首先,需要在.NET Core类库项目中引用Microsoft.Extensions.Configuration.Json包。可以通过NuGet包管理器或者NuGet控制台安装。 接下来,创建appsettings.json文件,并添加所需的配置信息,如下所示: { "AppSettings": { "ConnectionStr…

    C# 2023年6月3日
    00
  • .NET Core利用动态代理实现AOP(面向切面编程)

    文章概述: 本文将讲解如何利用动态代理实现AOP(面向切面编程)的过程。首先,我们介绍AOP的概念和原理。然后,我们详细说明如何使用动态代理实现AOP的过程。最后,我们提供了两个示例,演示如何通过AOP实现日志记录和异常处理。 什么是AOP? AOP全称为Aspect Oriented Programming,翻译成中文即“面向切面编程”。它是一种编程思想,…

    C# 2023年6月3日
    00
  • MVC使用极验验证制作登录验证码学习笔记7

    下面是“MVC使用极验验证制作登录验证码学习笔记7”的完整攻略。 1. 简介 本文将以MVC模式为基础,介绍如何使用极验验证制作登录验证码。 2. 准备工作 在开始使用极验验证之前,需要先注册一个极验账号,并创建一个验证实例。具体步骤如下: 进入极验验证官方网站,点击“注册”按钮,填写相关信息,完成注册流程; 登录账号后,进入“验证管理”页面,创建一个验证实…

    C# 2023年5月31日
    00
  • Question:基于C#连续赋值的面试题(解答)

    以下是对“Question:基于C#连续赋值的面试题(解答)”的完整攻略。 问题描述 这个问题描述如下: int i = 1; i = i++ + ++i; 问题解析 这道题主要考察的是 C# 连续赋值的知识点和自增运算符的使用。 连续赋值 先解释一下什么是连续赋值。连续赋值就是我们在一行语句中多次对一个变量进行赋值操作,如下所示: int i; i = 1…

    C# 2023年6月7日
    00
  • .NET 2.0 的压缩功能代码

    .NET 2.0 提供了压缩和解压缩文件的功能,主要是通过System.IO.Compression和System.IO.Compression.FileSystem命名空间下的类型来实现。 以下是压缩文件的示例代码: using System.IO.Compression; public static void CompressFile(string so…

    C# 2023年5月31日
    00
  • C# 文件上传下载(Excel导入,多线程下载)功能的实现代码

    下面是C#文件上传下载(Excel导入,多线程下载)功能的实现攻略。整个攻略分为如下几个部分,请仔细阅读: 部分1:文件上传 步骤1:前端页面 首先,我们需要在前端页面上添加一个文件上传表单,让用户可以选择需要上传的文件。可以使用以下代码: <form method="post" action="UploadFile&qu…

    C# 2023年6月7日
    00
  • C#多线程之取消架构介绍

    C#多线程之取消架构介绍攻略 什么是C#多线程取消架构 在C#中,我们可以使用多线程来进行异步编程,但是在实际场景中,有时候由于各种原因,我们需要中途取消一个正在运行的线程。而为了达到这个目的,C#中引入了取消架构(Cancellation Framework),通过这个机制,我们可以实现对多线程操作的取消。在该机制中,我们创建一个CancellationT…

    C# 2023年5月15日
    00
  • C#多线程编程Task用法详解

    C#多线程编程Task用法详解 什么是多线程编程 在计算机科学领域,多线程是同时运行多个线程的做法。线程是程序中的一条执行路径,用于执行计算或处理任务。多线程编程在某些情况下可以提高程序的性能和响应时间。多线程编程适用于需要同时处理多个任务和需要不间断运行的应用程序。 Task用法详解 Task是.NET框架中提供的一种多线程编程的方式。Task的基本概念是…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部