社区
嵌入开发(WinCE)
帖子详情
PPC上如何实现无线路由器的自动切换
hqfcsw
2007-03-02 10:47:00
根据无线路由器信号强弱 自动切换到信号强的无线路由器。
小弟是菜鸟,只懂得MFC和socket方面的简单知识,对于无线更是没有研究过,
请教要 实现这一个功能 需要哪些方面的知识?
各位大虾 能不能给点建议?
...全文
329
6
打赏
收藏
PPC上如何实现无线路由器的自动切换
根据无线路由器信号强弱 自动切换到信号强的无线路由器。 小弟是菜鸟,只懂得MFC和socket方面的简单知识,对于无线更是没有研究过, 请教要 实现这一个功能 需要哪些方面的知识? 各位大虾 能不能给点建议?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
suwyhoho
2009-11-18
打赏
举报
回复
LZ说的是无线漫游功能吧
大概的思路就是先设一个门限,这个门限可以是信号强度也可以是别的参数比如beacon,低于这个门限的时候开始搜索周围符合条件(SSID或MAC)的AP,找到了就切过去
功能实现比较简单,在驱动或是应用层都可以做,应用层CE下的话微软给了一些API比如WZCXXX或者用NDIS的ioctl都可以实现,驱动的话就要看看模块商给的代码了
问题在于大多数消费级的WIFI模块在搜索AP的时候会造成通信中断(因为Channel换了),如果模块不支持,又不能改firmware的话,这个问题就比较难解决
LZ如果要做的话,改改驱动吧,微软给的那些API在重新连接时会切断连接的,而且响应速度比较慢
zhujinqiang
2009-11-17
打赏
举报
回复
关注。
91program
2009-11-17
打赏
举报
回复
思路应该是:枚举所有有效网络,得到各个网络的信号进行比较。
枚举网络是可能做到的,有API支持。但是如何得到各个网络的信号强度,不清楚。
jimmy54
2009-11-17
打赏
举报
回复
void WifiOn()
{
DevicePowerNotify(_T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\WLAGS46F1"), D0, POWER_NAME);
SetDevicePower(_T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\WLAGS46F1"), POWER_NAME, D0);
}
void WifiOff()
{
DevicePowerNotify(_T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\WLAGS46F1"), D4, POWER_NAME);
SetDevicePower(_T("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\WLAGS46F1"), POWER_NAME, D4);
}
//实现部分的电源功能
#include "pwrmgr.h"
typedef DWORD (__stdcall *DevicePowerNotifyProc)(PVOID,CEDEVICE_POWER_STATE,DWORD);
typedef DWORD (__stdcall *SetDevicePowerProc)(PVOID,DWORD,CEDEVICE_POWER_STATE);
DWORD DevicePowerNotify(PVOID pvDevice,CEDEVICE_POWER_STATE DeviceState,DWORD Flags)
{
HINSTANCE hCoreDll = LoadLibrary(_T("coredll.dll"));
DevicePowerNotifyProc procSet =
(DevicePowerNotifyProc)GetProcAddress(hCoreDll, _T("DevicePowerNotify"));
DWORD dwResult = procSet(pvDevice,DeviceState,Flags);
::FreeLibrary(hCoreDll);
return dwResult;
}
DWORD SetDevicePower(PVOID pvDevice,DWORD dwDeviceFlags,CEDEVICE_POWER_STATE dwState)
{
HINSTANCE hCoreDll = LoadLibrary(_T("coredll.dll"));
SetDevicePowerProc procSet =
(SetDevicePowerProc)GetProcAddress(hCoreDll, _T("SetDevicePower"));
DWORD dwResult = procSet(pvDevice,dwDeviceFlags,dwState);
::FreeLibrary(hCoreDll);
return dwResult;
}
加分给源码。。。。。。。。。。。
ruritanian
2009-11-17
打赏
举报
回复
你是做应用还是驱动的?
如果是做应用的话,你只需要用conneection manager API建立无线网络连接就可以了,无线网络的信号切换是由驱动做的事情,应用程序不需要也不应该管的。
GARY
2009-10-20
打赏
举报
回复
这个还真么接触过,帮顶。
P
PC
手机(WM5)Wifi和GPRS同时使用设置指南
前几天搜索了一段时间的这个,看有没有困惑的人们。哈哈WIFI和GPRS的设置教程一、几个注意点:1、WIFI设置应该放置在“Internet”里面,GPRS设置应该放置在“单位设置”里面。这样做的目的就是保证在你打开IE浏览器时、或者上MSN、QQ时
自动
连接WIFI网络,而上WAP或者收发彩信等就会
自动
连接GPRS,这一点很关键,好多帖子都说在程序
自动
连接到Internet时使用"单位设置”,在程...
2015年上海计算机一级考试答案,2015 上海计算机一级F套
2015 上海计算机一级F套一、单选题1计算机硬件的发展经历了电子管时代、晶体管时代、_______和大规模/超大规模集成电路时代。A.网络时代B.集成电路时代C.数据处理时代D.过程控制时代2"依照冯.诺依曼结构,计算机硬件系统由_______、控制器、存储器、输入设备和输出设备等五大部件组成。"A.运算器B.CacheC.硬盘D.CPU3ASCII码是一种...
panic-full-2026-07-11-123741.0002.ips
panic-full-2026-07-11-123741.0002.ips
围绕批处理续跑中心设计平台化能力
标题:围绕批处理续跑中心设计平台化能力 内容概要:围绕缓存策略、任务调度、回压控制和审计追踪,拆解围绕批处理续跑中心设计平台化能力的
实现
细节。 直播下载:afc.skillgets.com 24直播网:skmgc.cn 24直播网:soccerhd.slkjgc.com 直播下载:sjzmama.net 直播下载:hu9zli.slyey2017.cn
ГОСТ 32382-2013 (2019).pdf
ГОСТ 32382-2013 (2019).pdf
嵌入开发(WinCE)
19,523
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章