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

yizhihongxing

首先,我们需要知道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++中const的实现细节介绍(C,C#同理)

    下面是关于C++中const的实现细节介绍的完整攻略。 const的含义和作用 C++中的const常量表示一个不可改变的变量,即该变量的值不允许被修改。const常量通常用于定义程序中不会改变的数据,例如PI的值。const的作用相当于定义了一个只读的变量。 const的定义和初始化 const常量可以在定义时被初始化,也可以在后面进行初始化。 定义时初始…

    C# 2023年5月14日
    00
  • C# winForm实现的气泡提示窗口功能示例

    下面是C# winForm实现气泡提示窗口功能示例的完整攻略: 一、前置知识 在实现气泡提示窗口功能之前,需要掌握C#语言和WinForm应用程序的基础知识。这个功能通常需要使用到以下类库: System.Windows.Forms System.Drawing 二、实现步骤 1. 准备素材 我们需要准备三张图片和一个气泡提示窗口的Form,三张图片分别为“…

    C# 2023年6月1日
    00
  • 基于C#开发中的那些编码问题(详谈)

    基于C#开发中的编码问题 在C#开发中,编码问题是一个非常重要的话题。因为不同的编码会导致程序在不同环境中的表现不同,甚至会导致程序出现异常或崩溃。下面是基于C#开发中的几个常见编码问题。 1. 字符编码问题 在C#中,字符串是以Unicode编码的方式存储的,也就是说每个字符都是由两个字节表示的。然而,在不同的环境中,字符串的编码会出现不同的情况,比如在数…

    C# 2023年6月7日
    00
  • asp.net程序编译调试时偶尔出现访问被拒绝的错误的解决方法

    当我们在使用asp.net程序进行编译和调试时,有时候会出现访问被拒绝的错误,这可能是由于权限设置不当或操作系统安全设置问题造成的,下面我们来讲解具体的解决方法。 一、检查应用程序池的身份验证设置 访问被拒绝的错误有时可能是由于应用程序池的身份验证设置没有正确配置造成的,我们可以通过以下步骤检查应用程序池的身份验证设置进行解决: 打开Internet Inf…

    C# 2023年5月15日
    00
  • 如何搭建新的WPF项目框架

    如何搭建新的WPF项目框架 搭建新的WPF项目框架可以帮助我们更好地组织和管理WPF应用程序的代码。本文将提供详细的“如何搭建新的WPF项目框架”的完整攻略,包括如何创建项目结构、如何添加基础类以及两个示例。 创建项目结构 要创建新的WPF项目框架,我们需要执行以下步骤: 创建一个新的WPF应用程序项目。 在项目中创建一个名为“Infrastructure”…

    C# 2023年5月15日
    00
  • C#预定义的基础类型转换

    C#是一种类型安全的语言,对于类型转换,也需要符合类型安全的规则。C#预定义了许多基础类型转换规则,这些规则可以在不同的数据类型之间进行转换,如下所示: 类型 描述 bool 布尔型 byte 无符号8位整数 char Unicode 16位字符 decimal 高精度小数 double 双精度浮点数 float 单精度浮点数 int 有符号32位整数 lo…

    C# 2023年6月7日
    00
  • Silverlight中同步调用WebClient的解决办法,是同步!

    在Silverlight中,WebClient是一个常用的类,用于从Web服务器下载数据。默认情况下,WebClient使用异步方式下载数据,这意味着下载操作将在后台线程中执行,而不会阻塞UI线程。但是,在某些情况下,我们可能需要使用同步方式下载数据,以便在下载完成之前阻塞UI线程。本文将介绍如何在Silverlight中同步调用WebClient,并提供两…

    C# 2023年5月15日
    00
  • 深入分析C#中处理和键盘相关事件的详解

    深入分析C#中处理和键盘相关事件的详解 概述 在C#中,键盘事件就是根据用户对键盘的操作触发的事件。C#中处理这些事件相对比较简单,主要通过预定义的事件处理函数即可实现。本篇文章将对C#中处理键盘相关事件做出详细的分析,包括键盘事件的原理、各个事件之间的区别、如何处理键盘事件以及如何自定义键盘事件等内容。 键盘事件的原理 在C#中,键盘事件是由用户的键盘操作…

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