『C#基础』调用CMD的一个小工具
由于经常要使用CMD的一些命令,比如查看IP,Ping一个网址之类的。于是就写了一个调用CMD.exe的小工具。
主要就是实现这样一个事情:调用CMD.exe然后传给它我想要执行的命令,最后获取结果。
界面:
代码:
主要执行代码using System.Diagnostics; using System.IO;namespace Client {class ExcuteCMD{static Process p = new Process();public static string Excute(string cmd){//创建Process对象p.StartInfo.FileName = "cmd.exe"; //要调用的程序 p.StartInfo.UseShellExecute = false; //关闭Shell的使用 p.StartInfo.RedirectStandardInput = true; //重定向标准输入 p.StartInfo.RedirectStandardOutput = true; //重定向标准输出 p.StartInfo.RedirectStandardError = true; //重定向错误输出 p.StartInfo.CreateNoWindow = true; //设置不显示窗口 p.Start(); //启动进程 p.StandardInput.WriteLine(cmd); //要执行的命令 p.StandardInput.WriteLine("exit");#region 吸收版权信息p.StandardOutput.ReadLine();p.StandardOutput.ReadLine();p.StandardOutput.ReadLine();p.StandardOutput.ReadLine();p.StandardOutput.ReadLine();#endregionstring strRst = p.StandardOutput.ReadToEnd(); //从输出流获取命令执行结果 // logOut(strRst,cmd); // 记录执行到日志文件return strRst;}public static void closeCMD(){p.Close();}private static void logOut(string log,string cmd){FileStream fs = new FileStream("log.txt", FileMode.OpenOrCreate, FileAccess.Write);StreamWriter sw = new StreamWriter(fs);sw.Flush();sw.BaseStream.Seek(0, SeekOrigin.End);sw.WriteLine(cmd + log);sw.WriteLine();sw.Flush();sw.Close();fs.Close(); }} }
WPF界面代码using System.Windows; using System.Windows.Input;namespace Client {/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();tbCmd.Focus();}private void btnSubmit_Click(object sender, RoutedEventArgs e){lblResult.Content = ExcuteCMD.Excute(tbCmd.Text); }private void btnClose_Click(object sender, RoutedEventArgs e){ExcuteCMD.closeCMD();this.Close();}private void btnPingQQ_Click(object sender, RoutedEventArgs e){lblResult.Content = ExcuteCMD.Excute("Ping www.qq.com");}private void btnIPConfig_Click(object sender, RoutedEventArgs e){lblResult.Content = ExcuteCMD.Excute("ipconfig");}private void tbCmd_KeyDown(object sender, KeyEventArgs e){if (e.Key == Key.Enter){btnSubmit_Click(sender, e);}}} }
WPF界面代码<Window x:Class="Client.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="CMD命令执行工具" Height="300" Width="478" MinWidth="400" MinHeight="300" Icon="/Client;component/Images/21.ico"><Grid><Grid.RowDefinitions><RowDefinition Height="210*" /><RowDefinition Height="28*" /><RowDefinition Height="23*" /></Grid.RowDefinitions><Button Content="执行" Height="23" Margin="0,0,66,5" Name="btnSubmit" VerticalAlignment="Bottom" TabIndex="2" Click="btnSubmit_Click" HorizontalAlignment="Right" Width="60" Grid.Row="1" /><TextBox Height="23" Name="tbCmd" VerticalAlignment="Bottom" Margin="0,0,132,5" TabIndex="1" Grid.Row="1" KeyDown="tbCmd_KeyDown" /><Button Content="结束" Height="23" HorizontalAlignment="Right" Margin="0,0,0,5" Name="btnClose" VerticalAlignment="Bottom" Width="60" Click="btnClose_Click" Grid.Row="1" /><ScrollViewer HorizontalAlignment="Stretch" Name="scrollViewer1" VerticalAlignment="Stretch"><Label Height="Auto" Name="lblResult" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /></ScrollViewer><Button Content="PingQQ" Height="23" HorizontalAlignment="Left" Name="btnPingQQ" VerticalAlignment="Top" Width="56" Click="btnPingQQ_Click" Grid.Row="2" /><Button Content="IPConfig" Height="23" HorizontalAlignment="Left" Margin="62,0,0,0" Name="btnIPConfig" VerticalAlignment="Top" Width="56" Click="btnIPConfig_Click" Grid.Row="2" /></Grid> </Window>
转载于:https://www.cnblogs.com/sitemanager/archive/2012/03/05/2380551.html
『C#基础』调用CMD的一个小工具相关推荐
- aspose 转pdf表格大小乱了_自己写了一个小工具类:pdf转word,没有页数和大小限制,保真!...
昨天下午遇到一个问题,想把一个比较大的pdf转化为word,结果使用了各种工具都收费.想着干脆写一个小工具吧,一开始使用的python等等试了好几个网上的代码,结果全都失真.于是乎不得不花了一下午自己 ...
- 【python小项目】用python写一个小工具——番茄钟
用python写一个小工具--番茄钟 最近听到朋友说在用番茄钟,有点兴趣也想下载一个来用用,后面仔细一想这玩意做起来也不难,索性自己顺手写一个算了,在这里也分享给大家了 一.功能简述 番茄钟即番茄工作 ...
- 制作一个小工具:自动生成“将特定枚举值转换成字符串的C++函数”的代码
需求 假设我有一种枚举类型: enum fruit_type {apple,banana,orange, }; 我时常会遇到需要将枚举值转换为字符串的情况,即我需要如下的函数: const char* ...
- sql语句转linq的一个小工具
http://sqltolinq.com/home sql语句转linq的一个小工具 转载于:https://www.cnblogs.com/fumj/archive/2012/12/20/28258 ...
- 介绍一个小工具 Linqer
介绍一个小工具 Linqer 这些天写Linq挺烦人的,就上网搜搜可有什么好的sql转Linq的工具,咦,马上就看上了Linqer. 哈哈,介绍一下使用方法吧: 官方下载网站:http://sqlto ...
- python登录网站下载excel_写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?...
题目描述 我计划写一个小工具,爬取我账号里面的数据,采用requests登陆后,虽然可以正常登陆,但是无法下载里面Excel数据,麻烦大货帮我分析一下,怎么解决.我知道可能是权限问题,下载的时候需要带 ...
- 【开源一个小工具】一键将网页内容推送到Kindle
http://www.zijinxing.com/201412/124636.html 最近工作上稍微闲点,这一周利用下班时间写了一个小工具,其实功能挺简单但也小折腾了会. 工具名称:Simple S ...
- 『0基础』Java快速入门必备秘籍
Java之所以是大家最受欢迎的编程语言,是因为它在互联网中的使用非常广泛.随着互联网软件开发的进行,企业增加了更多的Java的岗位需求.因此,Java开发人员的工作机会增加了. 在入行Java之前,相 ...
- [日推荐]『开店快手』靠谱的开店小助手
想开一个加盟店,装修成难题-- 装修流程繁琐复杂.设计师水平差强人意,怎么办? 材料价格参差不齐,装修过程频频出错,心好累!! 施工过程偷工减料,拖延工期,装修队伍资质存疑,水太深!!! 店面装修如此 ...
最新文章
- 早上起来收到两个消息
- Unity引擎与C#脚本简介
- elasticsearch_script_02
- QT VS环境安装后出现生成的程序can not start, can not find Qt pligins “windos“ 问题 2021-06-13
- 【原创】请避免GO语言中的携程空跑(CPU突然激增)
- php批量评价,彻底杜绝 WordPress 批量垃圾评论留言的三步曲
- win8oracle10g安装报错,Win8电脑安装Oracle 10g提示程序异常终止的解决方法
- LinuxShell笔记3 条件控制和流程控制
- PyTorch: 各种图像格式相互转化
- linux系统中find怎么用,Linux系统中查找命令find的使用方法(一)
- python model如何获取分类错误的数据_如何用python获取美股数据?
- 真格基金王强:判断一个项目好坏,我会做五个思考!
- 解析ES6箭头函数中的this
- css挪动背景块位置的属性,CSS 背景位置 background-position属性
- iphone/ipad 连接smb服务器,实现局域网内文件共享
- Flutter 与 RN对比
- 多图片拼图怎么操作?这个方法不要错过
- 曾经社交王者人人为何如今失魂落魄
- 用c语言录入3组学生数据编程,学生信息管理系统C语言编程
- 21和22端口 在java中的使用
热门文章
- css --- 伸缩布局,让图片居中
- ES5-5 参数默认值、递归、预编译、暗示全局变量
- 2017-5-4 进程
- SQLite轻量级数据库,操作数据常用语句
- SilverlightCMS开发之3经典三页面CMS浮现
- ARP防治攻略————服务器防护
- Insta360:从软到硬,一年做出360°全景相机,中间填了多少坑?
- 机械零点、MAM 文件 、 EMT标定原理
- 学习笔记(31):Python网络编程并发编程-定时器
- 总结从linux - windows 上(GCC与MSVC 2015) 移植C或者C++代码时候遇到的编译和链接问题