• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#运行CMD程序并获取结果

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

      有时候要用别人的程序, 而他的算法都在一个控制台程序里面, 我们没必要知道他的算法细节 只需要结果就行。所以可以在我们的程序里面去执行他的CMD程序 然后获取运算结果就ok。我这里的需求起源于要用一个硬件加密信息,别人写好了一个cmd程序,运行一下就能拿到这个加密后的信息。。。废话少说直接贴代码好了~

 

            string hidPath = @"HID.exe";
            try
            {
                if (File.Exists(hidPath))
                {
                    Process cmd = new Process();
                    cmd.StartInfo.FileName = hidPath;

                    //将cmd的标准输入和输出全部重定向到.NET的程序里

                    cmd.StartInfo.UseShellExecute = false; //此处必须为false否则引发异常

                    cmd.StartInfo.RedirectStandardInput = true; //标准输入
                    cmd.StartInfo.RedirectStandardOutput = true; //标准输出

                    //不显示命令行窗口界面
                    cmd.StartInfo.CreateNoWindow = true;
                    cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

                    cmd.Start(); //启动进程
                    //保存文本文件   执行结果保存在里面
                    saveFileDialog1.ShowDialog();
                    Stream stream = saveFileDialog1.OpenFile();
                    byte[] buffer = System.Text.Encoding.Default.GetBytes(cmd.StandardOutput.ReadToEnd());
                    stream.Write(buffer, 0, buffer.Length);
                    stream.Close();

                    cmd.WaitForExit();//等待控制台程序执行完成
                    cmd.Close();//关闭该进程
                }
                else
                {
                    MessageBox.Show(null, "系统文件遗失,请确保HID.exe文件存放在程序目录下!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.Dispose();
                }
            }
            catch (Exception ex)
            {
                Log.WriteErr(ex.ToString());
            }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#Color对象的使用介绍及颜色对照表C#Color发布时间:2022-07-13
下一篇:
C#索引器-索引器与数组属性的比较发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap