#include "StdAfx.h"
#include "Wlan.h"
CWlan::CWlan(void)
{
m_hwlan = NULL;
m_dwResult = 0;
m_dwMaxClient = 2;
m_dwCurVersion = 0;
m_pwlaninterfaceinfolist = NULL;
m_pnlist = NULL;
}
CWlan::~CWlan(void)
{
}
BOOL CWlan::OpenWlanHandle(void)
{
m_dwResult = WlanOpenHandle(m_dwMaxClient, NULL, &m_dwCurVersion, &m_hwlan);
if (m_dwResult != ERROR_SUCCESS)
{
printf("WlanOpenHandle fail!!!!\n");
return FALSE;
}
else
{
printf("WlanOpenHandle ok !!!!!!\n");
return TRUE;
}
// return 0;
}
BOOL CWlan::GetWlanInterface(void)
{
m_dwResult = WlanEnumInterfaces(m_hwlan, NULL, &m_pwlaninterfaceinfolist);
if (m_dwResult != ERROR_SUCCESS)
{
printf("WlanEnumInterfaces fail!!!!!\n");
return FALSE;
}
else
{
printf("WlanEnumInterfaces OK !!!!!\n");
m_interfaceguid = m_pwlaninterfaceinfolist->InterfaceInfo[0].InterfaceGuid;
return TRUE;
}
}
BOOL CWlan::Scan(void)
{
m_dwResult = WlanScan(m_hwlan, &m_interfaceguid, NULL, NULL, NULL);
if (m_dwResult != ERROR_SUCCESS)
{
printf("WlanScan fail!!!!!\n");
return FALSE;
}
else
{
printf("WlanScan OK !!!!!\n");
return TRUE;
}
}
BOOL CWlan::GetNetWorks(void)
{
m_dwResult = WlanGetAvailableNetworkList(m_hwlan, &m_interfaceguid, 0, NULL, &m_pnlist);
if (m_dwResult != ERROR_SUCCESS)
{
printf("WlanGetAvailableNetworkList fail!!!!!\n");
return FALSE;
}
else
{
printf("WlanGetAvailableNetworkList OK !!!!!\n");
return TRUE;
}
}
/*连接有密码的无线网,只需要使用WlanSetProfile设置profile即可自动联网*/
BOOL CWlan::SetNetworkInfo(void)
{
CString strHead =_T("<?xml version=\"1.0\" encoding=\"US-ASCII\"?>\
<WLANProfile xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v1\">\
<name>Shit</name>\
<SSIDConfig>\
<SSID>\
<name>Shit</name>\
</SSID>\
</SSIDConfig>\
<connectionType>ESS</connectionType>\
<MSM>\
<security>\
<authEncryption>\
<authentication>WPA2PSK</authentication>\
<encryption>AES</encryption>\
<useOneX>false</useOneX>\
</authEncryption>\
<sharedKey>\
<keyType>passPhrase</keyType>\
<protected>false</protected>\
<keyMaterial>8522558abc</keyMaterial>\
</sharedKey>\
</security>\
</MSM>\
</WLANProfile>");
WLAN_REASON_CODE Wlanreason;
PWSTR strTargetXML = (PWSTR)strHead.AllocSysString();
m_dwResult = WlanSetProfile(m_hwlan,
&m_interfaceguid,
0, strTargetXML, NULL, TRUE, NULL, &Wlanreason);
if (ERROR_SUCCESS != m_dwResult)
{
printf("wlan set profile failed %lu.\r\n", m_dwResult);
}
return TRUE;
/*m_wcpara.strProfile = strHead;
m_wcpara.dot11BssType
m_wcpara.pDesiredBssidList
m_wcpara.wlanConnectionMode
m_wcpara.dwFlags
m_wcpara.pDot11Ssid*/
}
/*使用无密码连接,电脑已经记录下,密码自动设置过profile*/
BOOL CWlan::Connect(void)
{
m_wcpara.wlanConnectionMode = wlan_connection_mode_profile;
m_wcpara.strProfile = _T("Shit");//AP 名字
m_wcpara.pDot11Ssid = NULL;
m_wcpara.pDesiredBssidList = NULL;
m_wcpara.dot11BssType = dot11_BSS_type_infrastructure;
m_wcpara.dwFlags = WLAN_CONNECTION_HIDDEN_NETWORK;
m_dwResult = WlanConnect(m_hwlan, &m_interfaceguid, &m_wcpara, NULL);
if (m_dwResult != ERROR_SUCCESS)
{
printf("WlanConnect fail!!!!!\n");
return FALSE;
}
else
{
printf("WlanConnect OK !!!!!\n");
return TRUE;
}
}
/*打开后一定要使用WlanCloseHandle关闭,释放内存*/
BOOL CWlan::CloseWlanHandle(void)
{
WlanCloseHandle(m_hwlan, NULL);
if (m_pnlist != NULL) {
WlanFreeMemory(m_pnlist);
m_pnlist = NULL;
}
if (m_pwlaninterfaceinfolist != NULL) {
WlanFreeMemory(m_pwlaninterfaceinfolist);
m_pwlaninterfaceinfolist = NULL;
}
/*if (m_wcpara != NULL) {
WlanFreeMemory(m_wcpara);
m_wcpara = NULL;
}*/
return TRUE;
}
BOOL CWlan::Disconnect(void)
{
m_dwResult = WlanDisconnect(m_hwlan, &m_interfaceguid, NULL);
if (m_dwResult != ERROR_SUCCESS)
{
printf("WlanDisconnect fail!!!!!\r\n");
return FALSE;
}
else
{
printf("WlanDisconnect OK !!!!!\n");
return TRUE;
}
}
Native wifi 连接无线网有密码无密码
5星 · 超过95%的资源 需积分: 50 196 浏览量
2015-08-24
10:30:31
上传
评论
收藏 2KB RAR 举报
杜xx
- 粉丝: 34
- 资源: 7
最新资源
- 基于混沌集成决策树的电能质量复合扰动识别(注释完全,可直接运行)(文档加Matlab源码)
- 基于JAVA的打飞机游戏设计(程序).zip
- 随机优化智能配电网的双时间尺度随机优化调度(注释完全,可直接运行)(文档加Matlab源码)
- 多目标粒子群选址定容-main为主函数-含储能出力(注释完全,可直接运行)(文档加Matlab源码)
- fonepaw苹果恢复
- 基于主从博弈的主动配电网阻塞管理(注释完全,可直接运行)(文档加Matlab源码)
- 房地产公司信息化管理奖惩作业指引模版.doc
- 园区三方主体(注释完全,可直接运行)(文档加Matlab源码)
- 基于php+mysql+html+css超市管理系统答辩PPT.pptx
- 房地产公司信息化管理程序模版.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈