CE5 WiFi开关
WinCE的WiFi开关要依赖于WiFi模块的休眠功能还有模块厂商提供的驱动里面有支持电源管理功能。这里面用的是SDIO86861模块,WinCE5的系统,S3C2416的CPU。
头文件要包括:
#include <winioctl.h>
#include <ntddndis.h>
#include <nuiouser.h>
#include <pm.h>
关键部分代码:
BOOL CDevCtrlDlg::OpenWiFiDriver(BOOL b_OpenDriver)
{
if(b_OpenDriver)
{
//Delete Register
reg.Create(HKEY_LOCAL_MACHINE, _T("Comm\\NdisPower"));
reg.DeleteValue(_T("SDIO86861"));
Sleep();
//Power Up SDIO86861
DevicePowerNotify(_T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\SDIO86861"), D0, POWER_NAME);
SetDevicePower(_T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\SDIO86861"), POWER_NAME, D0);
#if 0 //这里面因为电源开启之后驱动会自动把网卡开启,所以下面的操作可以不用。// Open NetworkCard
WCHAR Name[]=_T("SDIO86861\0");
HANDLE m_hFileHandle = CreateFile(_T(, , NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) INVALID_HANDLE_VALUE);
if( m_hFileHandle == INVALID_HANDLE_VALUE )
{
RETAILMSG(, (TEXT("Failed To CreateFile NDS0!\r\n")));
return FALSE;
}
else
{
RETAILMSG(, (TEXT("Succeed To CreateFile NDS0!\r\n")));
//return TRUE;
}
BOOL SDIO86861Control=DeviceIoControl( m_hFileHandle, IOCTL_NDIS_BIND_ADAPTER, Name, , NULL, NULL );
if(SDIO86861Control==TRUE)
{
RETAILMSG(, (TEXT("Succeed To Control SDIO86861!\r\n")));
CloseHandle( m_hFileHandle );
return TRUE;
}
else
{
RETAILMSG(, (TEXT("Failed To Control SDIO86861!\r\n")));
CloseHandle( m_hFileHandle );
return FALSE;
}
#endif
return TRUE;
}
else
{
//Power Down SDIO86861
DevicePowerNotify(_T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\SDIO86861"), D4, POWER_NAME);
SetDevicePower(_T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\SDIO86861"), POWER_NAME, D4);
//Close NetworkCard
WCHAR Name[]=_T("SDIO86861\0");
HANDLE m_hFileHandle = CreateFile(_T(, , NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) INVALID_HANDLE_VALUE);
if( m_hFileHandle == INVALID_HANDLE_VALUE )
{ RETAILMSG(, (TEXT("Failed To CreateFile NDS0!\r\n")));
return FALSE;
}
else
{ RETAILMSG(, (TEXT("Succeed To CreateFile NDS0!\r\n")));
}
BOOL SDIO86861Control=DeviceIoControl( m_hFileHandle, IOCTL_NDIS_UNBIND_ADAPTER, Name, , NULL, NULL );
if(SDIO86861Control==TRUE)
{ RETAILMSG(, (TEXT("Succeed To Control SDIO86861!\r\n")));
CloseHandle( m_hFileHandle );
}
else
{
RETAILMSG(, (TEXT("Failed To Control SDIO86861!\r\n")));
CloseHandle( m_hFileHandle );
return FALSE;
} //写注册表,此注册表用于WiFi休眠唤醒之后是否启动WiFi
//[HKEY_LOCAL_MACHINE\Comm\NdisPower]
//"SDIO86861"=dword:00000004
reg.Create(HKEY_LOCAL_MACHINE, _T("Comm\\NdisPower"));
reg.SetDW(TEXT();
return TRUE;
}
return FALSE;
}
CE5 WiFi开关的更多相关文章
- win8 wifi开关显示关闭,且设置里面wifi开关显示灰色的解决办法
只要从华硕官网下载驱动,电源管理驱动,安装下面显示的几个软件即可,然后重启电脑,即可看见wifi热点,另外设置里面的wifi开关也将显示正常(刚开始安装了个驱动人生根本没用,最后在华硕官网下载了个电源 ...
- 联想电脑 Wifi开关开不了
"VirtualBox Host-Only Network" 没有有效的IP配置 未修复 自己电脑显示 控制面板>网络和Internet>网络连接 VirtualBo ...
- Android 监听 WiFi 开关状态
Android 监听 WiFi 开关状态 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/70854309 本文出自[赵彦军的博客] ...
- 逗比的wifi开关
笔记本会出现网卡开机不能用的现象.具体表现为:网卡没有禁用,但是搜索不到无线信号.适配器选项框里面选中无线网卡,然后诊断这个链接提示启用无线功能.然后我点击应用此修复就能搜索到无线信号了.问题是,电脑 ...
- 【Python】wifi开关测试
#!/usr/bin/python # -*- coding: UTF-8 -*- import os import time def find_device(): os.system('adb ki ...
- Arduino IDE搭建ESP8266开发环境,文件下载过慢解决方法 | ESP-01制作WiFi开关教程,改造宿舍灯
1. Arduino IDE配置ESP8266环境 参考:https://www.jianshu.com/p/cb0274d612b5 首先从 Arduino 官网 下载最新版本的 Arduino I ...
- 然当装入Ubuntu双系统时,会出现无线硬件开关关闭的问题,当然也就无法连网
rfkill list all 会出现如下提示 0:ideapad_wlan: Wireless LAN Soft blocked: no Hard blocked:yes ...
- Android快捷开关实现(转)
在Android源码中,提供的快捷开关相对是比较少的,Android4.0系统默认提供的桌面快捷开关AppWidget上只有5种开关(分别是Wifi开关.蓝牙开关.GPS开关.同步开关.亮度设置开关) ...
- 【全面完美方案】iPhone 4S WiFi变灰 DIY修复方式
这是我在一位台湾网友usaretama发表的一篇帖子中看到的,原帖我发表在维维网 如果你有WiFi开关变灰不能切换.WiFi遇到搜不到AP或搜到了连不上,那您就要注意这篇了. 家人的 iPhone 4 ...
随机推荐
- table插件实现
选择.取消.全选.全部取消.获取行ids /** * Created by lizongqiong on 2016/1/8. */ var $ = require('jquery'); var tab ...
- $.ajax()常用方法详解(推荐)
AJAX 是一种与服务器交换数据的技术,可以在补充在整个页面的情况下更新网页的一部分.接下来通过本文给大家介绍ajax一些常用方法,大家有需要可以一起学习. 1.url: 要求为String类型的参数 ...
- Deep Learning 4_深度学习UFLDL教程:PCA in 2D_Exercise(斯坦福大学深度学习教程)
前言 本节练习的主要内容:PCA,PCA Whitening以及ZCA Whitening在2D数据上的使用,2D的数据集是45个数据点,每个数据点是2维的.要注意区别比较二维数据与二维图像的不同,特 ...
- php注意事项
1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数 ...
- java jar包解析:打包文件,引入文件
java jar包解析:打包文件,引入文件 cmd下: jar命令:package包打包 javac命令:普通类文件打包 Hello.java: package org.lxh.demo; publi ...
- 0040 Linux 系统管理命令
1. 主机名称 hostname hostnamectl 2.开机启动 chkconfig systemctl 3.服务管理 service 服务名 start service 服务名 stop ...
- KindEditor4.1.10,支持粘贴图片(转载!)
本人扩展了KindEditor4.1.10,使得他能够在Chrome和IE11中直接粘贴复制的图片(比如通过截图工具把图片直接保存在剪切板中),然后调用上传URL上传图片 方法,修改kindedito ...
- 使用QTP测试Web对象
加载Web插件先启动QTP,再启动浏览器,否则Web元素识别不了最新版本QTP11支持的浏览器:IE:6.7.8Firefox:3.0.x.3.5.QTP支持直接访问DOM(Document Obje ...
- Debian添加raw裸设备
一.检查系统是否已经启用了raw模块 root@frog:~# lsmod|grep raw 如果系统没有启用raw模块! 二. 设置系统自动启用raw root@frog:~# echo raw & ...
- DOM遍历方法
为标题行添加样式 $(document).ready(function(){ $('th').parent().addClass('table-heading'); $('tr:not([th]):o ...