1 Star 0 Fork 0

zhouws-chn/wifitools

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
wifitools.h 2.31 KB
一键复制 编辑 原始数据 按行查看 历史
zhouws-chn 提交于 2023-05-25 14:15 . 上传源码
/**
* Author: zhouwangsheng
* date: 2023.05.25
*/
#ifndef WIFITOOLS_H
#define WIFITOOLS_H
#include <QObject>
#include <QVector>
#include <QMetaType>
#include <windows.h>
#include "wlanapi.h"
typedef struct {
QString InterfaceDescriptionStr;
GUID InterfaceGuid; // QString::fromWCharArray
WLAN_INTERFACE_STATE isState;
} WLAN_INTERFACE_DEV;
typedef struct {
int pid;
QString strProfileName;
QString SSID;
QString BSSID;
BOOL bNetworkConnectable;
int rssi;
ULONG ulChCenterFrequency;
BOOL bSecurityEnabled;
DOT11_AUTH_ALGORITHM dot11DefaultAuthAlgorithm;
DOT11_CIPHER_ALGORITHM dot11DefaultCipherAlgorithm;
DOT11_BSS_TYPE dot11BssType;
DOT11_SSID dot11Ssid;
} WLAN_AP_INFO;
class WifiTools: public QObject
{
Q_OBJECT
public:
// 获取wifi管理类
static WifiTools *instance();
private:
WifiTools();
~WifiTools();
// WLAN通知回调函数
static void OnNotificationCallback(PWLAN_NOTIFICATION_DATA data, PVOID context);
private:
// wifi管理实例
static WifiTools *m_pInstance;
// 到服务端的连接
HANDLE m_pHandle;
// 网卡列表
QVector<WLAN_INTERFACE_DEV> m_WlanInterfaceList;
// AP 列表
QVector<WLAN_AP_INFO> m_ApList;
public:
// 打开到服务端的连接
// 返回值: 若成功返回ERROR_SUCCESS,否则返回失败的代码
DWORD wlanOpenHandle();
DWORD wlanRegisterNotification();
// 列举当前可用的无线网卡
DWORD wlanEnumInterfaces();
// 扫描wifi
DWORD wlanScan(int index=0);
// 获取SSID列表
DWORD wlanGetAvailableNetworkList(int index=0);
// 获取配置文件
DWORD wlanGetProfile(WLAN_AP_INFO apInfo);
// 添加配置文件
DWORD wlanSetProfile(WLAN_AP_INFO apInfo, QString pwd);
DWORD wlanDeleteProfile(WLAN_AP_INFO apInfo);
DWORD wlanConnect(WLAN_AP_INFO apInfo);
// 获取网卡设备列表
QVector<WLAN_INTERFACE_DEV> GetWlanInterfaceList(){ return m_WlanInterfaceList; }
// 获取AP INFO列表
QVector<WLAN_AP_INFO> GetApInfoList(){ return m_ApList; }
int TestFunc();
signals:
void WlanScanComplete(BOOL,GUID);
};
#endif // WIFITOOLS_H
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/zhouws-chn/wifitools.git
[email protected]:zhouws-chn/wifitools.git
zhouws-chn
wifitools
wifitools
master

搜索帮助