为什么80%的码农都做不了架构师?>>>   

最近想在win7上开启wifi热点,于是就弄出下面这个小东西,里面涉及如何在控制台上输入命令,分享一下。首先在VS中创建一个window窗口,然后创建两个四个button,两个输入框。如图所示:

要点1:cmd命令行的输入命令
netsh wlan set hostednetwork mode=allow ssid=用户名  key=密码
netsh wlan start hostednetwork
netsh waln stop hostednetwork
netsh interface ip set address name="本地连接" source=dhcp

要点2:在C#中调用cmd.exe命令行
       private void create(string str)
        {
            //process用于调用外部程序
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            //调用cmd.exe
            p.StartInfo.FileName = "cmd.exe";
            //是否指定操作系统外壳进程启动程序
            p.StartInfo.UseShellExecute = false;
            //可能接受来自调用程序的输入信息
            //重定向标准输入
            p.StartInfo.RedirectStandardInput = true;
            //重定向标准输出
            p.StartInfo.RedirectStandardOutput = true;
            //重定向错误输出
            p.StartInfo.RedirectStandardError = true;
            //不显示程序窗口
            p.StartInfo.CreateNoWindow = true;
            //启动程序
            p.Start();
            //睡眠1s。
            System.Threading.Thread.Sleep(1000);
            //输入命令
            p.StandardInput.WriteLine(str);
            //一定要关闭。
            p.StandardInput.WriteLine("exit");
        }

详细的代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace wifi01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
           //“创建wifi热点”按钮
        private void button1_Click(object sender, EventArgs e)
        {
            string str;
            string userName = textBox1.Text;
            string password = textBox2.Text;
            if (password.Length >= 8 && userName != null)
            {
                    // 命令行输入命令,用来新建wifi
                str = "netsh wlan set hostednetwork mode=allow ssid=" + userName +
                    " key=" + password;
                create(str);
                MessageBox.Show("新建了wifi热点",
                    "新建成功",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
                label4.Text = "新建了wifi热点";
            }
            else
            {
                MessageBox.Show("你的账号为空或你的密码长度小于8",
                    "登陆失败",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Exclamation);
            }
        }
           //"开启wifi"按钮
        private void button2_Click(object sender, EventArgs e)
        {
                // 命令行输入命令,
            string str = "netsh wlan start hostednetwork";
            create(str);
            label4.Text = "已启动wifi热点";
        }
          //“关闭wifi”按钮
        private void button3_Click(object sender, EventArgs e)
        {
                // 命令行输入命令,
            string str = "netsh wlan stop hostednetwork";
            create(str);
            label4.Text = "已关闭wifi热点";
        }
           //在cmd控制台输入命令,
        private void create(string str)
        {
            //process用于调用外部程序
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            //调用cmd.exe
            p.StartInfo.FileName = "cmd.exe";
            //是否指定操作系统外壳进程启动程序
            p.StartInfo.UseShellExecute = false;
            //可能接受来自调用程序的输入信息
            //重定向标准输入
            p.StartInfo.RedirectStandardInput = true;
            //重定向标准输出
            p.StartInfo.RedirectStandardOutput = true;
            //重定向错误输出
            p.StartInfo.RedirectStandardError = true;
            //不显示程序窗口
            p.StartInfo.CreateNoWindow = true;
            //启动程序
            p.Start();
            //睡眠1s。
            System.Threading.Thread.Sleep(1000);
            //输入命令
            p.StandardInput.WriteLine(str);
            //一定要关闭。
            p.StandardInput.WriteLine("exit");
        }
           //自动IP连接 按钮
        private void button4_Click(object sender, EventArgs e)
        {
               // 命令行输入命令,用来自动连接wifi:netsh interface ip set address name="本地连接" source=dhcp
            string str="netsh interface ip set address name=\"本地连接\" source=dhcp";
            string str1 = "锐捷是否提示你设置自动获取IP\n"+"或你想自动获取IP,请按确定";
            DialogResult result = MessageBox.Show(str1,"自动连接IP",
                MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
            if (result == DialogResult.OK)
            {
                create(str);
                label4.Text = "锐捷自动获取IP";
            }
            
        }
    }
}

转载于:https://my.oschina.net/swords/blog/118830

C#中调用命令行程序开启wifi热点相关推荐

  1. 命令逐行显示_在LoadRunner中执行命令行程序之:popen()取代system()

    >>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 在LoadRunner中执行命 ...

  2. windows下,C++中调用命令行并且获取命令行的输出

    说明,上一次写到了使用共享内存来实现获取命令行的输出.但是共享内存实际上是实现两个进程间的通信.其使用方式为在本进程创建共享内存,并在另外一个进程中调用cmd将结果写入到共享内存中,实际没有处理如何调 ...

  3. 程序中调用命令行命令,不显示那个黑黑的DOS窗口

    From: http://hi.baidu.com/yanqiuge/item/5da466c3d3f18453ad00ef1d 在程序中使用命令行时,会有黑黑的DOS窗口,很不爽,在网上查了一下,写 ...

  4. 在程序中调用命令行cmd接口

    nodeJS var cmd=require('node-cmd'); function check(p1,p2,callback){cmd.run('ShapeDescriptor.exe --in ...

  5. windows笔记本命令行方式建立wifi热点

    建立热点: @echo off netsh wlan set hostednetwork mode=allow netsh wlan set hostednetwork ssid=热点名 key=密码 ...

  6. qt执行命令行失败_QT中QProcess调用命令行的痛苦经历

    在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...

  7. QT中QProcess调用命令行的痛苦经历

    在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...

  8. 在Visual Studio中使用命令行参数进行调试

    我正在Visual Studio中开发一个C ++命令行应用程序,需要使用命令行参数进行调试. 目前我只使用我需要的参数(如此program.exe -file.txt )运行生成的EXE文件,但这样 ...

  9. c语言代码中调用系统命令行.sh shell脚本,linux shell system传参

    C语言代码中调用命令行: 1. 使用system(" 命令行 ");    --  执行完命令行后,会返回原先C代码的位置,继续执行. 2. 如果命令行中需要传参,使用 sprin ...

最新文章

  1. ccs怎么把2个变量都在一个graph中显示_因果推理实战(2)——利用Tetrad进行因果分析...
  2. RPM打包原理、示例、详解及备查
  3. 【Vue.js】vue用户登录功能
  4. STL-bitset源码解析
  5. 动手使用ABAP Channel开发一些小工具,提升日常工作效率 1
  6. ROS2学习(十一).ROS概念 - 命令行工具的使用
  7. thinkphp 编辑器kindeditor
  8. linux下elasticsearch的安装
  9. 2.4.5 数据框(data frame)的建立
  10. python 线程池 锁_python 线程池和锁
  11. vue直播rtmp流
  12. 数学实验基于matlab软件,数学实验:基于MATLAB软件
  13. 【转】MPLAB使用PICKit3.5烧录程序说明
  14. html5按钮超链接一个文本文档,怎么做word文档超链接
  15. 论文笔记:The Effectiveness of Data Augmentation in Image Classification using Deep Learning
  16. 直播预告 | 清华叉院助理教授赵行、在读博士生孙桥:自动驾驶中的行为交互
  17. excel每行按模板导出为一个excel文件,可以指定列文本生成二维码或者条形码
  18. php 跳转qq群代码_Q群自动签到php+java实现
  19. 通过这一篇文章就了解机器学习的主要内容和核心思想(包括一些算法思想总结)!!!
  20. GIS技术在林业管理应用中有哪些功能?

热门文章

  1. php acl控制,用PHP怎么实现一个ACL系统?
  2. python numpy 数据类型为python对象-python numPy模块 与numpy里的数据类型、数据类型对象dtype...
  3. 研发流程在敏捷开发中的详解
  4. 解决pytorch-gpu 安装失败方案
  5. 单片机从事什么工作?只会51单片机能找到工作吗?
  6. 本科刚毕业有点迷茫,想入门单片机,应该怎么开始?
  7. linux 删除含有关键词的文件_linux 连个文件都删除不了,什么鬼!
  8. 树上启动式合并问题 ---- D. Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths [状态压缩+树上启发式合并]
  9. skywalking原理_Skywalking系列博客6手把手教你编写 Skywalking 插件
  10. 表达式 控件 html,获取HTML表单控件的UrlEncode字符串表达式