C# 调用外部exe,且带参数

简介: C# 调用外部exe,且带参数

 目录

1、引言  

2、exe调用


1、引言

 

据说界面程序开发,首选C#(像lebview之类的也很好)。但是,能不能用其他语言开发核心代码,只用C#做界面?毕竟每种语言都有自己擅长的领域。那么就引出如何使用C#调用外部带有参数exe的问题。


在之前的DSP篇中有一篇文章有涉及到C#调用外部exe的:


DSP篇--C6701 BOOT(头文件烧写法)_nanke_yh的博客-CSDN博客

https://blog.csdn.net/nanke_yh/article/details/106606707

其中调用代码为:System.Diagnostics.Process.Start(exePath, textBox1.Text);


查看System.Diagnostics的从元数据可以发现:

public static Process Start(string fileName, string arguments);

这Start重载参数不超2个,正好这个exe只需要外部传入一个参数的,那调用的exe需要传入多个参数的又该怎么写呢?


2、exe调用


在cmd中多参数外部exe的调用方式有:比如有个example.exe,能接受4个参数.

example.exe "1" "a" "2" "3"

那么在C#中参数只能填一个,那么将后面属于参数的都放在一起组成一个字符串,传入即可。

具体代码:

// 调用exe的函数
using System.Diagnostics;
public bool StartProcess(string runFilePath, params string[] args)
{
        string s = "";
        foreach (string arg in args)
        {
            s = s + arg + " ";
        }
        s = s.Trim();
        Process process = new Process();//创建进程对象    
        ProcessStartInfo startInfo = new ProcessStartInfo(runFilePath, s); // 括号里是(程序名,参数)
        process.StartInfo = startInfo;
        process.Start();
        return true;
}

其中就是将传入的args字符串数组遍历并整合成一个长字符串,从而加上exe的运行路径满足System.Diagnostics.Process的重载结构。


其具体使用或调用为:

string exe_path = "E:/example.exe";  // 被调exe
string[] the_args = { "1","2","3","4"};   // 被调exe接受的参数
StartProcess(exe_path, the_args);

参考:使用C#调用外部exe,且带参数 - 简书 (jianshu.com)

目录
相关文章
|
7月前
|
存储 编解码 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用UserSet功能保存和载入相机的各类参数(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用UserSet功能保存和载入相机的各类参数(C#)
89 0
|
2月前
|
C# Windows
C#实现指南:将文件夹与exe合并为一个exe
C#实现指南:将文件夹与exe合并为一个exe
179 9
|
4月前
|
编译器 C# Windows
C#基础:手动编译一个.cs源代码文件并生成.exe可执行文件
通过上述步骤,应该能够高效准确地编译C#源代码并生成相应的可执行文件。此外,这一过程强调了对命令行编译器的理解,这在调试和自动化编译流程中是非常重要的。
350 2
|
4月前
|
C#
C# WPF 将第三方DLL嵌入 exe
C# WPF 将第三方DLL嵌入 exe
95 0
|
6月前
|
存储 Java 编译器
C# 变量与参数详解
C# 变量与参数详解
|
7月前
|
开发框架 小程序 .NET
C#动态生成带参数的小程序二维码
C#动态生成带参数的小程序二维码
|
7月前
|
存储 C#
C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。
141 0
|
C# 数据安全/隐私保护
C# 窗体之间参数互相传递的两种方法与使用
C# 窗体之间参数互相传递的两种方法与使用