BeeMobile for Windows Mobile
看到Nick介绍用beeMobile4.net Controls,于是上它的主页,打算下载过来使用。主页上简介明了地给出了4个工具,其中ColorPicker, ProgressBar 和OpenSaveDialog这三个是要收费的,当然有试用版可以下载。不过有一个是完全免费的,那就是Free Utils,包括一个封装好的源代码库,还有一个实例工程,今年的愚人节刚刚更新的。下载过来以后发现,这几个源代码工程都是用visual studio 2008建立的,主要包括一些常用的功能,如复位设备,操作背景灯,查找一些应用程序所在的文件夹,查询设备的IMSI和IMEI码。如果有朋友打算下载过来试用的话,最好使用相同版本的visual studio。
下载源代码工程包FreeUtils.zip和实例工程01FreeUtilsSample.zip以后,解压到当前目录,编译实例工程,发现编译出错,原因是引用的dll有问题。以下是需要做的一些更改:
1.将源代码工程FreeUtils重新编译,将生成的BeeMobile.Utils.dll重新添加到FreeUtilsSampleCF3工程中。如下图1所示:
图1:重新添加对BeeMobile.Utils.dll的引用
2.在Form1.cs中,添加对命名空间的使用,如下图2所示:
图2:添加对命名空间的使用
3.修改Form1.cs中的PrintSystemDirs函数,代码如下:

在我的WM6设备上运行的效果如下图3所示:
图3:程序在WM6设备上的运行效果
那么,在模拟器上的运行效果如何呢?我试着将目标平台改为pocket pc 2003,OK,程序运行没有问题,效果如下图4所示:
图4:程序在pocketpc2003模拟器上的运行效果
大家可以看到,模拟器上的IMSI和IMEI就是“12345678901234”和“000”。
但是,当我把目标平台设置为WM5.0和WM6.0的时候,程序均抛出异常,主要是在“BeeMobile.TAPI”命名空间中的“PhoneInfo.Get”出了问题,在以下代码片段中抛出了异常:
// fetch the information with properly size buffer
result = Tapi.lineGetGeneralInfo(hLine2, bytes);
if (result != 0)
{
throw new ApplicationException(Marshal.GetLastWin32Error().ToString());
}
从这次试验中发现,模拟器和真实设备的调试,还是存在一些差别的,还得继续找找上面的原因。
参考链接:
源代码下载:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构