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)

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nanke_yh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值