C++ 操作承载网络/虚拟网卡

这篇博客介绍了如何使用C++进行承载网络(虚拟网卡)的操作,包括查询、设置信息、开启、关闭和禁用承载网络。通过_HostedNetworkInfo结构体管理相关信息,并提供了头文件(HostedNetwork.h)、实现文件(HostedNetwork.cpp)及测试代码(test.cpp)作为示例。
摘要由CSDN通过智能技术生成
最近想用C++做一个自动开启wifi共享的软件。这就需要使用程序来操作承载网络了/虚拟网卡。当然,可以在程序中调用 netsh wlan set hostednetwork .......之类的东西,不过个人感觉这样做局限性很大,而且效率不高(明明可以用API实现的,非要用命令创建一个进程来解析这串命令去实现)。因此,本人写了一份使用C++来操作承载网络/虚拟网卡的代码。这些代码不需要“以管理员身份运行”。本人编程经验有限,不足之处还烦请大家多多指教!!^ ^

另外,要想自动开启wifi热点,还需要用C++设置相应网卡的网络连接共享。具体可以看一下我在csdn上的另一篇文章:

利用这些代码,本人写了一个完整的wifi共享工具,


先用netsh命令设置承载网络参数:


再用测试程序修改配置并且启用承载网络,10s之后关闭承载网络:




使用方法:


_HostedNetworkInfo 结构,包含承载网络的信息:

struct _HostedNetworkInfo {
	bool Active;
	char SSID[32];         //字符串最大长度(包括末尾的\0):31字节   (亲自测试得到的结论)
	bool IsPassPhase;      //true:密码是字符串(8到63个ascii字符 + '\0')。false:密码是长度为32字节的二进制数据。
	char Key[64];          //如果IsPassPhase为false,则Key不是字符串,而是长度为32字节的二进制数据。
	unsigned int NumberOfPeers;              //当前连接数
	unsigned int MaxNumberOfPeers;           //最大连接数
	DOT11_AUTH_ALGORITHM dot11AuthAlgo;      //认证方式
	DOT11_CIPHER_ALGORITHM dot11CipherAlgo;  //加密算法
};


查询承载网络信息:

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值