随笔 - 249  文章 - 1  评论 - 1207  阅读 - 61万

BeeMobile for Windows Mobile

    看到Nick介绍用beeMobile4.net Controls,于是上它的主页,打算下载过来使用。主页上简介明了地给出了4个工具,其中ColorPicker, ProgressBar 和OpenSaveDialog这三个是要收费的,当然有试用版可以下载。不过有一个是完全免费的,那就是Free Utils,包括一个封装好的源代码库,还有一个实例工程,今年的愚人节刚刚更新的。下载过来以后发现,这几个源代码工程都是用visual studio 2008建立的,主要包括一些常用的功能,如复位设备,操作背景灯,查找一些应用程序所在的文件夹,查询设备的IMSIIMEI码。如果有朋友打算下载过来试用的话,最好使用相同版本的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函数,代码如下:

Code

 

    在我的WM6设备上运行的效果如下图3所示:

3:程序在WM6设备上的运行效果

    那么,在模拟器上的运行效果如何呢?我试着将目标平台改为pocket pc 2003OK,程序运行没有问题,效果如下图4所示:

4:程序在pocketpc2003模拟器上的运行效果

    大家可以看到,模拟器上的IMSIIMEI就是“12345678901234”和“000”。

    但是,当我把目标平台设置为WM5.0WM6.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());

}

    从这次试验中发现,模拟器和真实设备的调试,还是存在一些差别的,还得继续找找上面的原因。

 

参考链接:

beeMobile4.net Controls

源代码下载:

FreeUtil.rar

posted on   施炯  阅读(2710)  评论(3编辑  收藏  举报
编辑推荐:
· .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语句:使用策略模式优化代码结构
< 2009年4月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 1 2
3 4 5 6 7 8 9

点击右上角即可分享
微信分享提示