zoukankan      html  css  js  c++  java
  • mobile获取WLAN模块的开关状态

    // 第一种方法:

    // 直接从注册表取值的方式

        HKEY hKey;
        TCHAR szPath[MAX_PATH] = TEXT("\\System\\CurrentControlSet\\Control\\Power\\State");
        if(ERROR_SUCCESS != ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, szPath, 0, 0, &hKey))
        {
            debug_level((DBG_ERROR, "ERROR: CWLAN::GetPowerState >> RegOpenKeyEx"));
            return false;
        }
        TCHAR valueName[MAX_PATH];
        memset(valueName, 0, sizeof(valueName));
        wsprintf(valueName, TEXT("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\%s"), adapterName);
        
        DWORD dwState = 0;
        DWORD dwType = 0;
        DWORD dwSize = MAX_PATH; // 这是要注意,不能初值为"0"
        if(ERROR_SUCCESS != RegQueryValueEx(hKey, valueName, NULL, &dwType, (LPBYTE)&dwState, &dwSize))
        {
            debug_level((DBG_ERROR, "ERROR: CWLAN::GetPowerState >> RegQueryValueEx"));
            ::RegCloseKey(hKey);
            return false;
        }
        ::RegCloseKey(hKey);

        powerState = dwState == 1 ? true : false;

    /////////////////////////////////////////////////////////////////////////

    //第二种方法:

    // GetDevicePower API 方式 

    TCHAR device[MAX_PATH];
        memset(device, 0, sizeof(device));    
        wsprintf(device, TEXT("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\%s"), adapterName);
        CEDEVICE_POWER_STATE state = D4;
        if(ERROR_SUCCESS != ::GetDevicePower(device, POWER_NAME, &state))
        {
            debug_level((DBG_ERROR, "ERROR: CWLAN::GetPowerState >> GetDevicePower"));
            return false;
        }
        powerState = state == D0 ? true : false; 

  • 相关阅读:
    Cocos2d-x 3.0截屏功能集成
    游戏嵌入Webview网页
    Cocos2dx进阶学习之屏幕适配
    Android如何实现文件下载并自动安装apk包!!!
    LINQ Select变量定义 Expression<Func<TSource, TResult>>
    StringComparison枚举
    .net core DBFirst 生成Model表结构
    .net core反向工程Model生成 配置机密
    axios下载文件.net Core
    EFCore Database-first深入研究
  • 原文地址:https://www.cnblogs.com/answer/p/1602492.html
Copyright © 2011-2022 走看看