VC++用wlanapi进展WIFI网络的获取与连接时,wlansetprofile和wlanConnect函数的使用
VC++用wlanapi进行WIFI网络的获取与连接时,wlansetprofile和wlanConnect函数的使用
本人近接着手于实现VC++调用wlanapi,实现WIFI网络的扫描获取以及选择其中一个进行连接,但是始终达不到所想要的效果,因此在这里求高人指点.关于wlanConnect与wlanSetProfile这两个的函数的使用方法,特别是后一个,以及wlanSetProfile函数的,关于wifi加密认证方式的xml文件的细则,就是wlanSetProfile函数的中第四个参数:strProfileXml
------解决方案--------------------
我也在找这个内容
WlanSetProfile 这个方法如何创建一个新的wifi热点呢?
不过我大概知道第4个参数是这样的
strProfileXml = "<?xml version=\"1.0\"?><WLANProfile xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v1\"><name>11111</name><SSIDConfig><SSID><name>11111</name></SSID></SSIDConfig><connectionType>ESS</connectionType><MSM><security><authEncryption><authentication>open</authentication><encryption>WEP</encryption><useOneX>false</useOneX></authEncryption><sharedKey><keyType>networkKey</keyType><protected>false</protected><keyMaterial>11111</keyMaterial></sharedKey><keyIndex>0</keyIndex></security></MSM></WLANProfile>";
------解决方案--------------------
贴代码了,好害怕啊
头文件
本人近接着手于实现VC++调用wlanapi,实现WIFI网络的扫描获取以及选择其中一个进行连接,但是始终达不到所想要的效果,因此在这里求高人指点.关于wlanConnect与wlanSetProfile这两个的函数的使用方法,特别是后一个,以及wlanSetProfile函数的,关于wifi加密认证方式的xml文件的细则,就是wlanSetProfile函数的中第四个参数:strProfileXml
------解决方案--------------------
我也在找这个内容
WlanSetProfile 这个方法如何创建一个新的wifi热点呢?
不过我大概知道第4个参数是这样的
strProfileXml = "<?xml version=\"1.0\"?><WLANProfile xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v1\"><name>11111</name><SSIDConfig><SSID><name>11111</name></SSID></SSIDConfig><connectionType>ESS</connectionType><MSM><security><authEncryption><authentication>open</authentication><encryption>WEP</encryption><useOneX>false</useOneX></authEncryption><sharedKey><keyType>networkKey</keyType><protected>false</protected><keyMaterial>11111</keyMaterial></sharedKey><keyIndex>0</keyIndex></security></MSM></WLANProfile>";
------解决方案--------------------
贴代码了,好害怕啊
头文件
#ifndef _WIFI_SEARCH_CONNECTION_H_
#define _WIFI_SEARCH_CONNECTION_H_
#define WM_WLAN_NOTIFICATION WM_USER+200
#define DOT11_SSID_MAX_LENGTH 32
#define WLAN_MAX_PHY_TYPE_NUMBER 8
#define WLAN_MAX_NAME_LENGTH 256
class WifiConnection
{
public:
WifiConnection();
~WifiConnection();
private:
typedef enum _WLAN_INTERFACE_STATE
{
wlan_interface_state_not_ready = 0,
wlan_interface_state_connected = 1,
wlan_interface_state_ad_hoc_network_formed = 2,
wlan_interface_state_disconnecting = 3,
wlan_interface_state_disconnected = 4,
wlan_interface_state_associating = 5,
wlan_interface_state_discovering = 6,
wlan_interface_state_authenticating =7
}WLAN_INTERFACE_STATE, *PWLAN_INTERFACE_STATE;
typedef struct _WLAN_INTERFACE_INFO
{
GUID InterfaceGuid;
WCHAR strInterfaceDescription[256];
WLAN_INTERFACE_STATE isState;
}WLAN_INTERFACE_INFO,*PWLAN_INTERFACE_INFO;
typedef struct _WLAN_INTERFACE_INFO_LIST
{
DWORD dwNumberOfItems;
DWORD dwIndex;
WLAN_INTERFACE_INFO InterfaceInfo[];
}WLAN_INTERFACE_INFO_LIST, *PWLAN_INTERFACE_INFO_LIST;
typedef struct _DOT11_SSID
{
ULONG uSSIDLength;
UCHAR ucSSID[DOT11_SSID_MAX_LENGTH];
}DOT11_SSID, *PDOT11_SSID;
typedef enum _DOT11_BSS_TYPE
{
dot11_BSS_type_infrastructure = 1,
dot11_BSS_type_independent = 2,
dot11_BSS_type_any = 3
}DOT11_BSS_TYPE, *PDOT11_BSS_TYPE;
typedef DWORD WLAN_REASON_CODE, *PWLAN_REASON_CODE;
typedef enum _DOT11_PHY_TYPE
{
dot11_phy_type_unknown = 0,
dot11_phy_type_any = 0,
dot11_phy_type_fhss = 1,
dot11_phy_type_dsss = 2,
dot11_phy_type_irbaseband = 3,
dot11_phy_type_ofdm = 4,
dot11_phy_type_hrdsss = 5,
dot11_phy_type_erp = 6,
dot11_phy_type_ht = 7,
dot11_phy_type_IHV_start = 0x80000000,
dot11_phy_type_IHV_end = 0xffffffff
}DOT11_PHY_TYPE, *PDOT11_PHY_TYPE;
typedef ULONG WLAN_SIGNAL_QUALITY, *PWLAN_SIGNAL_QUALITY;
typedef enum _DOT11_AUTH_ALGORITHM
{
DOT11_AUTH_ALGO_80211_OPEN = 1,
DOT11_AUTH_ALGO_80211_SHARED_KEY = 2,
DOT11_AUTH_ALGO_WPA = 3,
DOT11_AUTH_ALGO_WPA_PSK = 4,
DOT11_AUTH_ALGO_WPA_NONE = 5,
DOT11_AUTH_ALGO_RSNA = 6,
DOT11_AUTH_ALGO_RSNA_PSK = 7,
DOT11_AUTH_ALGO_IHV_START = 0x80000000,
DOT11_AUTH_ALGO_IHV_END = 0xffffffff
} DOT11_AUTH_ALGORITHM, *PDOT11_AUTH_ALGORITHM;
typedef enum _DOT11_CIPHER_ALGORITHM
{
DOT11_CIPHER_ALGO_NONE = 0x00,
DOT11_CIPHER_ALGO_WEP40 = 0x01,