今天公司让我把Winform程序里的一块单独成一个exe文件,从原程序中打开新的exe程序,这就涉及到参数的传递,故来记录下传递参数到exe程序的方式

第一种方式

首先在程序A中添加引用using System.Diagnostics;

  1. string strA = "hello" + "," + "world";
  2. Process pro = Process.Start(@"C:\testB.exe", strA);//打开程序B
  3. pro.WaitForExit();
  4. int Result = pro.ExitCode;//程序B退出回传值
  5. if (Result == )//接收到程序B退出代码"1"
  6. {
  7. textBox1.Text = "退出程序B";
  8. }

在程序B中的Program.cs

  1. static void Main(string[] args)
  2. {
  3. Application.EnableVisualStyles();
  4. Application.SetCompatibleTextRenderingDefault(false);
  5. try
  6. {
  7. FormB.str = args[].Trim();//用一个字符串来接收FormA中传过来的数据
  8. Application.Run(new Form1());
  9. }
  10. catch (Exception ex)
  11. {
  12. MessageBox.Show(ex.Message);
  13. }
  14. }

这样的话在B程序Form1中就接收到了程序A中传过来的字符串strA

  1. //将传过来的数据放到textbox中
  2. textBox1.Text =str
 

效果.png

若点击退出按钮,退出系统时发生指定代码,且这种退出方式是完全退出。

  1. Environment.Exit();程序B退出回传""

效果.png

第二种方式

  1. System.Diagnostics.Process pro = new System.Diagnostics.Process();
  2. pro.StartInfo.FileName = @"C:\testB.exe";
  3.  
  4. //传入4个字符串
  5. pro.StartInfo.Arguments = string.Format("{0} {1} {2} {3}", "hello", "world", "你好", "世界");
  6. pro.Start();//开启程序

程序B中的

  1. static void Main(string[] args)
  2. {
  3. Application.EnableVisualStyles();
  4. Application.SetCompatibleTextRenderingDefault(false);
  5. Application.Run(new Form1(args));//也可以像第一种那样实现
  6. }

FormB页面中

  1. public static string[] temp;
  2. public Form1(string[] args)
  3. {
  4. InitializeComponent();
  5. temp = args;//因为传过来的是一个数组,所以我们定义了一个新的全局空数组来接替他
  6. }
  7.  
  8. //将传过来的数据放到textbox中
  9. textBox1.Text =temp[]+temp[]+temp[]+temp[];

FormB页面.png

作者:高调的小丑
链接:https://www.jianshu.com/p/27018255783a

C#传递参数调用exe程序的更多相关文章

  1. .net 部署到服务端IIS,Process调用exe程序无法运行问题解决

    场景: 开发某一功能将html内容转换为pdf,采用第三方插件wkhtmltopdf.exe进行转换.在本地调试正常运行,部署到服务端后文件没有正常生成. IIS中,Process打不开cmd程序,程 ...

  2. Js调用exe程序方法(通过URL Protocol实现网页调用本地应用程序)

      1.使用记事本(或其他文本编辑器)创建一个protocal.reg文件,并写入以下内容 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROO ...

  3. C#调用Exe程序示例

    在编写程序时经常会使用到调用可执行程序的情况,本文将简单介绍C#调用exe的方法.在C#中,通过Process类来进行进程操作. Process类在System.Diagnostics包中. 示例一 ...

  4. C# 如何以参数的形式调用.exe程序

    System.Diagnostics.Process.Start("程序的路径", "参数1 参数2");第一个参数是aaa.exe 的路径,第二个参数是用空格 ...

  5. python调用exe程序

    最近在做测试,公司的产品做成了exe,让我去测试,C++写的程序啊,我直接用python调用那个exe,也有个坑,必须要到exe在的那个目录下,然后才能调用: import os def main() ...

  6. apache通过cgi调用exe程序

    windows下,使用c写了一个简单的cgi程序,生成exe类型的可执行文件,代码如下: #include<stdio.h> int main() { printf("Conte ...

  7. JAVA 调用exe程序执行对应的文件 (个人用于编译Java文件)

    需求: 需要利用Java程序,来调用计算机本身的黑窗口,来将特定的Java文件编译成对应的字节码文件. 实现思路: 通过调用Java的Runtime类,每个 Java 应用程序都有一个 Runtime ...

  8. 在c++中调用exe程序进行操作

    #include <Windows.h> #include <iostream> #include <direct.h> #define picNum 228 us ...

  9. python 调用exe程序

    #!/usr/bin/python #-*- coding:utf-8 -*- import os, subprocess import tkMessageBox import msg_box def ...

随机推荐

  1. vue中封装一个倒计时

    <template> <div class="countDownBox"> <div class="row resetStyle" ...

  2. python3 pyinstaller 图标改变不了的问题

    命令 pyinstaller -F ./test.py --noconsole --icon=test.ico 在使用后可能发现新生成的图标仍然为默认图标,有以下解决方案: 将生成的exe文件复制到另 ...

  3. 10-5使用OpenType字体

    http://www.missyuan.com/viewthread.php?tid=350835&extra=&page=1 现在当我们通过Photoshop.Word或其他应用程序 ...

  4. ansible 问题记录(2)

    普通用户执行ansible,但是在远程需要root权限,这个时候执行ansible命令报如下错误: 经分析是由于sudo的时候,普通用户没有在sudoer文件 2.在playbook里面使用sudo认 ...

  5. Spring和Quartz整合实现定时任务调度

    在Spring中可以很方便的使用Quartz来实现定时任务等功能,Quartz主要就是Schedule(任务调度器),Job(作业任务)和Trigger(触发器)三者的关系. 实现方式有多种,在此就介 ...

  6. firewall-cmd命令详解

    https://blog.csdn.net/GMingZhou/article/details/78090963 实例 # 安装firewalld yum install firewalld fire ...

  7. php手记之02-tp5请求参数读取三种方式

    01-[推荐方式] 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息.在Thinkphp5.1中,获取请求对象数据,是由think\Request类负责,在很多场合下并不需 ...

  8. window.postMessage 跨窗口,跨iframe javascript 通信

    同源通信 执行它们的页面位于具有相同的协议(http/https),端口(80/443),主机(通常为域名) 时,这两个脚本才能相互通信 大多数情况下,网站就是内部的域名,所以是同源通信,可以相互访问 ...

  9. A filter or servlet of the current chain does not support asynchronous operations. 错误解决记录

    做视频文件上传一直报这个错误: java.lang.IllegalStateException: A filter or servlet of the current chain does not s ...

  10. Qt编写自定义控件49-飞机仪表盘

    一.前言 飞行仪表是测定和表示飞机数据的工具,飞机中必不可少的一部分,飞行员根据飞行仪表表示的数据才能正确地做出判断.一般飞机仪表包括高度表+空速表+垂直速率表+姿态仪+航向指示表+转弯协调表. 这次 ...