C# womform exe调用exe传递参数

创建两个窗体程序项目
在这里插入图片描述

被调用方-sso_demo

第一步接受参数的exe启动程序修改
需要修改Program文件
在这里插入图片描述
在FORM2里面会有2个构造函数
在这里插入图片描述
定义args来接收传入这个exe启动程序的参数

调用方-调用exe传参

我们需要使用到process进程类和ProcessStartInfo类,ProcessStartInfo用来配置参数
在这里插入图片描述

小demo,便于理解:

  System.Diagnostics.Process process = new System.Diagnostics.Process();

            process.StartInfo.FileName = "C:/Program Files/Google/Chrome Dev/Application/chrome.exe";   //启动360浏览器,可以更换

            process.StartInfo.Arguments = "http://www.sina.com";

            process.Start();

上面的代码的意思是调用谷歌浏览器,并传一个sina的参数,你执行的时候会自动打开谷歌并访问http://www.sina.com

Process进程类,GetProcesses获取本地进程
Process[] proList = Process.GetProcesses(“.”);
int k = proList.Length ; //当前进程数量

下面的图片就是proList 的值,我们可以看到正在运行的项目(调用exe传参)
在这里插入图片描述

在这里插入图片描述

然后我们通过进程类查询有没有这个”调用exe传参“,有就干掉他

Process[] a =    Process.GetProcessesByName("调用exe传参");
            a[0].Kill(); //杀死该进程

再来一个:
只当谷歌打开ceshi.txt文件

  System.Diagnostics.Process.Start("C:/Program Files/Google/Chrome Dev/Application/chrome.exe", "C:/Users/Administrator/Desktop/测试/ceshi.txt");   //直接打开文件Readme.txt

我们可以同个这个进程类打开指定文件加:
这个就是运行完了之后会自动给你打开D盘


           ProcessStartInfo processStartInfo = new ProcessStartInfo();

            processStartInfo.FileName = "explorer.exe";  //资源管理器

            processStartInfo.Arguments = @"D:\";

            System.Diagnostics.Process.Start(processStartInfo);

用这个进程,我们可以调用dos来执行一些命令:
下面这个会得到我们IPconfig的输出信息

 Process process = new Process();//实例
            process.StartInfo.CreateNoWindow = true;//设定不显示窗口
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.FileName = "cmd.exe"; //设定程序名
            process.StartInfo.RedirectStandardInput = true; //重定向标准输入
            process.StartInfo.RedirectStandardOutput = true; //重定向标准输出
            process.StartInfo.RedirectStandardError = true;//重定向错误输出
            process.Start();
            process.StandardInput.WriteLine("ipconfig");//执行的命令
             process.StandardInput.WriteLine("exit");
            process.WaitForExit();  
            string output = string.Empty;
            output = process.StandardOutput.ReadToEnd();//获取输出流
            process.StandardInput.Close();
            process.Close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值