C# Winform调用控制台程序(通过Process类)

news2024/9/21 0:44:37

文章目录

    • 1.引入命名空间
    • 2.初始化进程
    • 3.启动进程

1.引入命名空间

using System.Diagnostics;

2.初始化进程

1.startInfo.FileName 运行的.exe文件的完整路径,也可以使用相对路径。
2.startInfo.Arguments 允许你向.exe程序传递命令行参数,参数间用空格分隔,也可以使用内插字符串。
3.startInfo.UseShellExecute 如果设为true,那么将使用操作系统外壳来启动进程;如果设为false,则直接启动进程,并且你可以重定向输入输出流。
4.startInfo.WindowStyle 设置了新打开窗口的样式,默认是正常显示。

private void StartButton_Click(object sender, EventArgs e)
{
 		// 定义要启动的进程信息
        ProcessStartInfo startInfo = new ProcessStartInfo();

        // 设置要启动的应用程序路径
        startInfo.FileName = @"C:\Path\To\Your\Program.exe";
        //也可以使用相对路径 .\\Program.exe
        //.表示当前目录  ..表示上一级目录

		//可以使用Directory.GetCurrentDirectory()获取当前目录
		//string s=Directory.GetCurrentDirectory();
        // MessageBox.Show(s);

        // 如果需要传递参数给.exe程序,可以设置Arguments属性,参数间用空格分隔。.exe程序中用args接收参数。
         startInfo.Arguments = "your arguments here";
         //args[0]=your  args[1]=arguments args[2]=here
         
         //如果需要传变量可以使用内插字符串
         //startInfo.Arguments = $"0483 5448 {comboBox1.Text}";

        // 是否使用Shell执行
        startInfo.UseShellExecute = true;

        // 是否等待子进程退出
        startInfo.WindowStyle = ProcessWindowStyle.Normal;  // 可以选择隐藏、最大化等
        /*
        Normal 正常显示 
        Hidden 隐藏 
        Minimized 最小化  
        Maximized 最大化
        */
  }

.exe程序

 static void Main(string[] args)
 {
     UsbDevice ub = new UsbDevice();
     ub.OpenUsbDevice(args[0], args[1]);
     //当参数过长时,可能会遇到命令行参数长度限制的问题。
     //在Windows中,命令行参数的最大长度大约为8192个字符。如果参数超过了这个长度,启动进程时可能会失败。
     //可以传文件路径 在.exe程序中读取文件
     string str = File.ReadAllText(args[2]);//读取文件
     ub.Senda(str);
 }

3.启动进程

		try{
            // 启动进程
            Process.Start(startInfo);
        }catch (Exception ex) {
            // 处理异常
            MessageBox.Show("Error: " + ex.Message);
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2150621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本地搭建我的世界服务器(JAVA)简单记录

网上参考教程挺多的,踩了不少坑,简单记录一下,我做的是一个私人服务器,就是和朋友3、4个人玩。 笨蛋 MC 开服教程 先放一个比较系统和完整的教程,萌新可用,这个教程很详细,我只是记录一下自己的…

相亲交友系统源码 连接你我,不再孤单

在这个数字时代,人们的生活方式已经发生了巨大的变化。随着工作压力增大和社会竞争激烈化,很多人发现自己很难有时间和机会去结识新的朋友,更不用说找到适合自己的伴侣了。相亲交友系统正是在这种背景下应运而生,它不仅简化了交友…

操作系统 | 学习笔记 | | 王道 | 5.2 设备独立软件

5.2 设备独立性软件 IO核心子系统 磁盘IO也属于IO调度问题 5.2.1 与设备无关的软件 与设备无关的软件是I/O系统的最高层软件,它的下层是设备驱动程序。 设备保护: 操作系统需要实现文件保护功能,不同的用户对各个文件有不同的访问权限&am…

BUUCTF-MISC-隐藏的钥匙

下载题目文件,获得了一张格式为jpg的路飞图片 按照习惯,首先使用十六进制编译器打开文件,这里我使用winhex打开文件 首先考虑有没有flag直接隐写在文件中,按照图示步骤查找flag字段 我们查到了flag,通过经验和图中base…

[Python]案例驱动最佳入门:股票分析 Python数据分析与可视化实战

在股票市场中,价格波动和投资决策紧密相连。通过数据分析,投资者可以识别市场趋势、价格波动背后的规律,并做出明智的投资决策。Python凭借其强大的数据处理和可视化功能,在金融市场分析中被广泛应用。本文将通过一个假设的股票市…

java踩坑

1.mybatis在idea可以正常运行,但是打jar包后,就报链接超时,可能是参数设置有问题,但是idea自动忽略了。 出问题的配置:(圈出来的地方乱码了,idea有纠错能力,它自动调整为正确的&…

three.js shader 实现天空中白云

three.js shader 实现天空中白云 预览: https://threehub.cn/#/codeMirror?navigationThreeJS&classifyshader&idwhiteCloud 更多案例 可见 预览: https://threehub.cn import * as THREE from "three"; import { OrbitControls …

web基础—dvwa靶场(十二)JavaScript Attacks

JavaScript Attacks (前端攻击) 本章节中的攻击旨在帮助您了解如何在浏览器中使用 JavaScript 以及如何对其进行操作,攻击可以通过分析网络流量来实现,但这不是本章节的重点而且可能要困难得多。 只需提交单词 “success” 即可攻击成功,显然…

开石开放式耳机怎么样?南卡、开石、声阔开放式耳机测评

​作为一名多年的数码博主,我本人也是个耳机发烧友,我最近注意到数码圈特别是蓝牙耳机圈中,有一种耳机特别火,叫开放式耳机,这类耳机的佩戴舒适度是非常高的,这也激起了我对这类耳机的兴趣,因此…

感知笔记4:YOLO 3D 物体定位

如何在 ROS 中使用 YOLO 如何在 2D 中检测人和大象如何在 3D 中检测人和大象 有许多可用的深度学习库。您可能听说过:Keras、TensorFlow 和 Darknet。 在这里我们将使用 Darknet,因为它实现了 YOLOv3,这是一个对象检测模型。它非常快&…

jdk版本更换以及遇到的问题略谈(以jdk1.8和jdk11为例)

目录 在我看来 遇到的问题 原因以及解决方法 方法一:禁止误改误删 方法二:bat文件驱动运行 方法三:cmd命令 方法四:修改注册表(不推荐) 最近在进行漏洞复现(shiro550)的时候&…

无人机如何突破高海拔高寒飞行环境?

无人机在突破高海拔高寒飞行环境方面,需要解决一系列技术难题和挑战。以下是一些主要的技术手段和策略: 1. 无人机平台设计与优化 增强机体结构:采用轻质高强度的材料,如碳纤维、复合材料等,减轻机身重量&#xff0c…

决策树算法中篇

手动计算实现决策树分类 数据整合 X[真实用户] y X 计算未划分信息熵 s X[真实用户] p s.value_counts()/s.size (p * np.log2(1/p)).sum() 按照日志密度进行划分 x X[日志密度].unique() x.sort() # 如何划分呢,分成两部分 for i in range(len(x) - 1):sp…

【目标检测论文必备】通俗易懂地讲解用绿色、蓝色、红色框可视化描述YOLO模型权重对于单个图片的训练效果(TP、FP、FN)

可视化步骤 一、生成自定义权重对图片的预测类别坐标信息二、创建需要预测的文件夹三、可视化运行 一、生成自定义权重对图片的预测类别坐标信息 新建脚本文件/path/to/your/ultralytics/savetxt.py放入对应参数运行会得到一个个独立的/path/to/your/runs/detect/output/outpu…

移动技术开发:简单计算器界面

1 实验名称 简单计算器界面 2实验目的 掌握基本布局管理器的使用方法和基本控件的使用方法&#xff0c;以及事件监听处理的使用方法 3 实验源代码 布局文件代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:and…

2024年港澳台华侨生联考分数线继续更新来啦

导读 在最近的一系列分享中&#xff0c;我们和大家一同分享了2024年港澳台华侨生联考的分数线。今天我们继续和大家一起分享一些2024年港澳台联考的高校录取分数线吧&#xff01; 首都师范大学 首都师范大学和首都医科大学作为被低估的两所高校&#xff0c;这两年的分数线也是…

web基础—dvwa靶场(十)XSS

XSS(DOM) 跨站点脚本&#xff08;XSS&#xff09;攻击是一种注入攻击&#xff0c;恶意脚本会被注入到可信的网站中。当攻击者使用 web 应用程序将恶意代码&#xff08;通常以浏览器端脚本的形式&#xff09;发送给其他最终用户时&#xff0c;就会发生 XSS 攻击。允许这些攻击成…

Linux ubuntu debian系统安装UFW防火墙图形化工具GUFW

GUFW是UFW的图形化前端&#xff0c;可以通过以下命令安装&#xff1a; sudo apt install gufw安装成功后&#xff0c;可以通过应用程序菜单启动GUFW&#xff0c;在图形界面中&#xff0c;可以方便地添加、修改和删除规则&#xff0c;查看状态和日志。

【数据结构取经之路】图解红黑树

目录 前言 红黑树的概念 红黑树的性质 红黑树结点的定义 左右旋动图 红黑树的插入分析 红黑树的插入代码 红黑树与AVL-tree比较 红黑树的应用场景 前言 AVL-tree之外&#xff0c;另一个颇具历史且被广泛使用的平衡二叉搜索树是红黑树(RB-tree)&#xff0c;这名字听起来…

码头童话,“丈量”行业数智化转型

作者 | 曾响铃 文 | 响铃说 一箱车厘子从地球正对的另一边远渡重洋来到中国&#xff0c;而一旦到达&#xff0c;5个小时内它就能变成北京、天津、河北、河南等区域老百姓果盘里的美味。 这一幕&#xff0c;来自央视联合华为制作发布的《新智中国说-谈智一会间》第一期“码头…