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日

相关文章

  • C#中的let字句应用示例

    C#中的let字句应用是指在Linq查询语句中使用let关键字定义一个中间变量,以便在查询语句中多次使用,并提高代码的可读性和性能。 以下是示例说明: 示例一:使用let字句进行分组并计算平均值 假设我们有一组学生数据,包含姓名、班级和分数三个字段,现在我们想要按照班级对学生进行分组,并计算每个班级的平均分。代码示例如下: using System.Linq…

    C# 2023年6月1日
    00
  • ASP.NET Core中使用xUnit进行单元测试

    ASP.NET Core中使用xUnit进行单元测试攻略 在ASP.NET Core中,xUnit是一种流行的单元测试框架。在本攻略中,我们将深入讲解如何使用xUnit进行单元测试,并提供两个示例说明。 xUnit的安装 在使用xUnit进行单元测试之前,我们需要安装xUnit。以下是安装xUnit的步骤: 在Visual Studio中,打开NuGet包管…

    C# 2023年5月17日
    00
  • C#设计模式之Template模板方法模式实现ASP.NET自定义控件 密码强度检测功能

    C#设计模式之Template模板方法模式实现ASP.NET自定义控件密码强度检测功能 目的 本文介绍如何通过使用C#设计模式中的Template模式,实现ASP.NET自定义控件中的密码强度检测功能。 前提条件 本文假设读者已经具备以下知识储备: C#编程语言基础 ASP.NET自定义控件的基础知识 设计模式中的Template模式基础概念和使用方法 实现…

    C# 2023年6月3日
    00
  • C# 4.0 大数的运算–BigInteger的应用详解

    C#4.0大数的运算–BigInteger的应用详解 对于C#中的int、long等整型变量来说,其取值范围是固定的。如果要进行大数运算,就需要使用BigInteger类。 1. BigInteger基础知识 BigInteger类是System.Numerics命名空间下的一个类,用于处理大整数。它支持基本的算术运算、转换和比较操作。BigInteger…

    C# 2023年5月14日
    00
  • ASP.NET加密解密算法分享

    ASP.NET加密解密算法分享 在ASP.NET开发中,我们经常使用加密解密算法对用户数据等敏感信息进行安全保护。本文将介绍常见的ASP.NET加密解密算法示例,涵盖对称加密算法、非对称加密算法以及哈希算法等多种加密手段。 对称加密算法 对称加密算法是一种基于密钥的加密方式,同一把密钥可以同时用于加密和解密。在ASP.NET中,常用的对称加密算法包括DES、…

    C# 2023年6月3日
    00
  • C#异常捕获机制图文详解

    下面是详细讲解“C#异常捕获机制图文详解”的完整攻略: 一、什么是C#异常 在C#的编程过程中,由于各种各样的原因,程序可能会出现意料之外的错误,例如文件不存在,网络连接中断等等。这些错误就是异常,在C#中,异常是指运行时错误,通常指程序执行时出现的不可预期的错误或错误状态。 二、C#异常捕获机制 C#提供了一套完善的异常捕获机制,可以在程序出现异常时对异常…

    C# 2023年5月15日
    00
  • C#byte数组传入C操作方法

    讲解“C# byte数组传入C操作方法”的完整攻略,可以分为以下五个部分: 准备C语言函数 编写C#代码声明要使用的C语言函数 封装C#数组,转换为适合C语言的指针形式 调用C语言函数,将C#数组传入 获取C语言函数的返回结果 下面,我们详细介绍这五个部分。 准备C语言函数 首先,我们先准备一个C语言的函数,该函数接收一个byte类型的数组和数组的长度,对数…

    C# 2023年6月7日
    00
  • C#使用SQLDMO操作数据库的方法

    下面我将详细讲解“C#使用SQLDMO操作数据库的方法”的完整攻略。 一、SQLDMO介绍 SQLDMO是一种用于操作Microsoft SQL Server的对象模型。它是一种COM对象模型,使得从C#语言中使用该模型变得十分容易。 二、准备工作 在使用SQLDMO之前,需要引入相应的程序集。程序集一般位于以下地址中: C:\Program Files\M…

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