• 利用SDF2.3获取Windows Mobile上的IP地址和MAC地址


        OpenNETCFSmart Device Framework为开发者提供了许多开发捷径,其SDF1.x系列提供了完全的源代码,即Full Source,从SDF2.x以来,就不一样了。特别是现在的SDF2.3,已经分为Community Edition、Standard Edition和Professional Edition,对于不同的版本,OpenNETCF对其支持的力度也是不一样的。目前最新的版本是2.3.0.39,于2009年3月31日发布,下载Community Edition是免费的。

        在Windows Mobile设备上,我们可以使用ActiveSync将其和PC机连接,也可以使用Wifi连接AP来上网,那么,我们如何来获得其连接的IP地址和相应的MAC地址呢?SDF2.3可以帮助我们方便地实现。

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

    截图02

    图1 加入对OpenNETCF的引用

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

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

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

            foreach (INetworkInterface currentInterface in NetworkInterface.GetAllNetworkInterfaces())
            {
                this.listBox1.Items.Add("Name : " + currentInterface.Name);
                this.listBox1.Items.Add("IP : " + currentInterface.CurrentIpAddress);
                this.listBox1.Items.Add("MAC : " + currentInterface.GetPhysicalAddress().ToString());
                this.listBox1.Items.Add(string.Empty);
            }

        最后,我们就可以得到对应的地址了。以下是在我的Cingular8125(WM6.0)上得到的结果:

    Screen02 截图01

    图2 测试结果

        可以看到,第一个是手机的Wifi模块分配到的IP地址和本身的MAC地址,第二个是手机通过ActiveSync和PC机进行通信的RNDIS(Remote NDIS)IP地址和MAC地址,有关这个方面的资料,可以参考Jake Lin的两篇Blog:

     

        最后附上源代码IPAddressSample.rar,希望对开发爱好者有用。       

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    非递归实现二叉树先序、中序和后序遍历
    领益科技:Windows Server 2012 R2 强制卸载域控制器
    Zabbix调优不完全指南(https://www.jianshu.com/p/2d911d55448f)
    Linux下基础查看命令
    Linux下的快捷键
    给Linux系统新增加一块硬盘
    领益智造:Windows中的备份和还原
    领益智造:AD中修改OU下面用户的属性
    领益科技:AD中批量创建域用户(创建Mac地址账号)
    Linux常见企业面试题
  • 原文地址:https://www.cnblogs.com/dearsj001/p/GetWMIPMAC.html
Copyright © 2020-2023  润新知