C#【Winform】带参启动外部EXE

启动EXE
  string arg1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
  string arg2 = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbb";
  System.Diagnostics.Process p = new System.Diagnostics.Process();
  p.StartInfo.FileName = "EXE_NAME";//需要启动的程序名       
  p.StartInfo.WorkingDirectory = Application.StartupPath;    
  p.StartInfo.Arguments = arg1+" "+arg2;//启动参数       
  p.Start();//启动      

 

 

接收参数

private void Form1_Load(object sender, EventArgs e)
        {
            String[] CmdArgs= System.Environment.GetCommandLineArgs();
            if (CmdArgs.Length > 1)
            {
                //参数0是它本身的路径
                String arg0 = CmdArgs[0].ToString();
                String arg1 = CmdArgs[1].ToString();
                String arg2 = CmdArgs[2].ToString();

                MessageBox.Show(arg0);
                MessageBox.Show(arg1);
                MessageBox.Show(arg2);
            }
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# WinForm启动脚本可以通过调用cmd命令来实现。下面是一个示例代码,演示了如何在C# WinForm启动脚本: ```csharp using System; using System.Diagnostics; using System.Windows.Forms; namespace WinFormApp { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void btnRunScript_Click(object sender, EventArgs e) { string scriptPath = "C:\\path\\to\\script.bat"; // 替换为你的脚本路径 ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "cmd.exe"; startInfo.Arguments = "/c " + scriptPath; startInfo.RedirectStandardOutput = true; startInfo.UseShellExecute = false; startInfo.CreateNoWindow = true; Process process = new Process(); process.StartInfo = startInfo; process.OutputDataReceived += Process_OutputDataReceived; process.Start(); process.BeginOutputReadLine(); process.WaitForExit(); } private void Process_OutputDataReceived(object sender, DataReceivedEventArgs e) { if (!string.IsNullOrEmpty(e.Data)) { // 处理输出结果 // 例如,将输出结果显示在文本框中 textBoxOutput.Invoke((MethodInvoker)delegate { textBoxOutput.AppendText(e.Data + Environment.NewLine); }); } } } } ``` 上述代码中,我们首先指定了要执行的脚本路径,然后创建了一个`ProcessStartInfo`对象,设置了要启动的进程为`cmd.exe`,并指定了要执行的脚本路径作为参数。接下来,我们创建了一个`Process`对象,将`ProcessStartInfo`对象赋值给它,并注册了一个事件处理程序来处理输出结果。最后,我们启动进程,并等待进程执行完毕。 在`Process_OutputDataReceived`事件处理程序中,我们可以处理脚本的输出结果。在示例代码中,我们将输出结果显示在一个文本框中,你可以根据自己的需求进行处理。 请注意,为了能够在WinForm中显示输出结果,我们使用了`Invoke`方法来确保在UI线程上执行更新操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值