当前位置:   article > 正文

C++/QT获取、连接wifi_c++ qt wlanapi

c++ qt wlanapi

C++/QT获取、连接wifi

操作wifi的库

#include <wlanapi.h>
#pragma comment(lib, "wlanapi.lib")
#pragma comment(lib, "ole32.lib")
  • 1
  • 2

获取wlan的handle、接口信息Interface Info

WlanOpenHandle
WlanEnumInterfaces

HANDLE hClient = NULL;
DWORD dwMaxClient = 2;
DWORD dwCurVersion = 0;
DWORD dwResult = 0;

PWLAN_INTERFACE_INFO_LIST pIfList = NULL;

dwResult = WlanOpenHandle(dwMaxClient, NULL, &dwCurVersion, &hClient);
if (ERROR_SUCCESS != dwResult)
{
   
   qDebug() << "WlanOpenHandle failed with error:" << dwResult;
   //return false;
}
dwResult = WlanEnumInterfaces(hClient, NULL, &pIfList);
if (ERROR_SUCCESS != dwResult)
{
   
   qDebug() << "WlanEnumInterfaces failed with error" << dwResult;
   //return false;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

询问是否有已连接的wifi

WlanQueryInterface: 判断是否有已连接的wifi

PWLAN_CONNECTION_ATTRIBUTES pConnectInfo = NULL;
DWORD connectInfoSize = sizeof(WLAN_CONNECTION_ATTRIBUTES);
WLAN_OPCODE_VALUE_TYPE opCode = wlan_opcode_value_type_invalid;
PWLAN_INTERFACE_INFO pIfInfo = NULL;
pIfInfo = (WLAN_INTERFACE_INFO*)&pIfList->InterfaceInfo[i];
QString CurConnectedWlanProfileName{
    "" };
if (pIfInfo->isState == wlan_interface_state_connected)
{
   
    dwResult = WlanQueryInterface(hClient,
    &pIfInfo->InterfaceGuid,
     wlan_intf_opcode_current_connection,
     NULL,
     &connectInfoSize,
     (PVOID *)&pConnectInfo,
     &opCode);
     if (dwResult != ERROR_SUCCESS)
     {
   
         qDebug() << "WlanQueryInterface failed with error" << dwResult;
     }
     else
     {
   
         switch (pConnectInfo->isState)
         {
   
         case wlan_interface_state_connected:
         {
   
             // 配置文件名和wifi名相同
             CurConnectedWlanProfileName = QString::fromWCharArray(pConnectInfo->strProfileName);
             qDebug() << &#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/252358
推荐阅读
相关标签
  

闽ICP备14008679号