利用SDF2.3获取Windows Mobile上的WiFi接入点信息

    在《Windows Mobile上的无线网络接入点扫描》一文中,讲述了用native code来获取WiFi接入点信息(名字、MAC地址、信号强度RSSI、Wifi信道以及是否需要密码等)的方法。然而,OpenNETCFSmart Device Framework为开发者提供了许多开发捷径,我们可以很方便地获得AP信息,直接使用C#语言,就只需几行代码就可以搞定。

    首先,新建一个智能设备项目,以VS2008+Windows Mobile 6.0 Professional为例,在新建好的项目中,加入对OpenNETCF和OpenNETCF.net的引用,如下图1所示:

截图02_2

图1 加入对OpenNETCF的引用

    然后,在Form.cs中,加入对OpenNETCF的引用。

        using OpenNETCF.Net;
        using OpenNETCF.Net.NetworkInformation;

    接着,在需要得到AP信息的地方,使用如下方式获得(以显示在listBox上的方式为例)

foreach (OpenNETCF.Net.NetworkInformation.INetworkInterface currentNetworkInterface in OpenNETCF.Net.NetworkInformation.WirelessZeroConfigNetworkInterface.GetAllNetworkInterfaces())
{
    // Make sure we are dealing with a WZC Network Interface
    if (currentNetworkInterface is OpenNETCF.Net.NetworkInformation.WirelessZeroConfigNetworkInterface)
    {
        // Get all the Nearby Access Points that the WZC Network Interface can see
        foreach (OpenNETCF.Net.NetworkInformation.AccessPoint currentAccessPoint in ((OpenNETCF.Net.NetworkInformation.WirelessZeroConfigNetworkInterface)currentNetworkInterface).NearbyAccessPoints)
        {
            // Output the name and the signal stregth of this access point
            this.listBox1.Items.Add(currentAccessPoint.Name + " : " + currentAccessPoint.SignalStrength.Decibels.ToString() + " : " + currentAccessPoint.PhysicalAddress.ToString());
        }
    }
}

    以下是在我的Cingular8125(WM6.0)上得到的结果:

Screen01

图2:测试结果图

    当然,在测试之前,需要事先打开WiFi模块,可以通过设备管理器打开,如下图2所示:

Screen02

图3:通过通讯管理打开无线WiFi

    也可以通过代码打开,即使用DevicePowerNotifySetDevicePower

 

参考链接:

1.Windows Mobile上的无线网络接入点扫描

2.Smart Device Framework

3.DevicePowerNotifySetDevicePower

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值