博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[CF Skills].NET CF3.5中确定设备的平台类型(版本号)
阅读量:7034 次
发布时间:2019-06-28

本文共 974 字,大约阅读时间需要 3 分钟。

在CF3.5以前的版本中,为了在托管代码中确定设备的平台类型(Smartphone?PPC?PPC Pone?),我们需要通过 P/Invoke调用SystemParametersInfo这个本地函数,详细可参考以下两篇文章:
 然而,在.NET CF3.5中新加入了一个叫SystemSettings.Platform 的属性(关于其他CF3.5的新特性参考),用于方便的获取基于WinCE的常见OS名称。
下面的代码段演示了如何方便的实现这一功能:
//SDF的OpenNETCF.EnvironmentEx.PlatformName也可以判断是PPC还是Smart Phone
//但是现在的.NET CF可以做得更好 
           if (SystemSettings.Platform == WinCEPlatform.PocketPC)
               platformName = "Windows Mobile " +
 (SystemState.PhoneRadioPresent ? "Professional" : "Classic");//有电话功能的为Professional
            else if (SystemSettings.Platform == WinCEPlatform.Smartphone)
                platformName = "Windows Mobile Standard";
            else
                platformName = "Not Windows Mobile";
同时需要添加对以下程序集的引用:
其中SystemState.PhoneRadioPresent 需CE5.0以上支持
有趣的是我在SAMSUNG i718上面测试成功返回"Windows Mobile Professional",但是在模拟器上测试所有的PPC模拟器却总是返回"Windows Mobile Classic"。
原来,在 Windows Mobile Professional SDK的模拟器上运行的时候, 需要先同Cellular Emulator连接,才能使PhoneRadioPresent 返回正确的值(缺省状态下认为模拟器没有电话功能),而 Cellular Emulator 正好可以用来模拟电话功能. 关于Cellular Emulator的使用可以参考

转载地址:http://jsyal.baihongyu.com/

你可能感兴趣的文章
crontab定时启动脚本,自动化配置
查看>>
批量修改外网密码
查看>>
ansible学习记录
查看>>
HA集群之五:
查看>>
图解字符串的朴素模式匹配算法
查看>>
Spring Boot整合MyBatis学习总结
查看>>
juniper ssl ***配置主机检测MAC功能
查看>>
liblinear 训练时去掉输出信息
查看>>
python3.4连接mysql数据库
查看>>
个人python开发环境搭建
查看>>
ELK5.5.0 集群部署以及体验使用插件X-pack
查看>>
防火线缆在建筑中的应用专题访谈
查看>>
linux常用命令整理 20150823
查看>>
类的const对象
查看>>
测试驱动开发基础
查看>>
第二次作业
查看>>
第4次作业类测试代码+105032014116+陈洁
查看>>
部队应急通信指挥调度方案
查看>>
post文本3-代码类
查看>>
form表单 无法提交js动态添加的表单元素问题。。
查看>>