木木的布劳格

  • 首页
  • 学无止尽
  • 愉悦生活
  • 中医
  • 软件
  • 单反摄影
  • 收藏的软件
  • About Me
木木的布劳格
记录生活点滴的静默博客
  1. 首页
  2. 学无止尽
  3. 正文

Windows Mobile 版本的判断

24 9 月, 2010 1255点热度 0人点赞 0条评论

有时候在写WM上程序时需要对不同的WM版本做不同的处理, 于是这就需要判断出不同的版本来. sdk提供了一个api, 让开发者获知运行该程序的系统版本.
   BOOL GetVersionEx(
    LPOSVERSIONINFO lpVersionInformation
   );
这个api很简单, 没啥好说的. 主要是这个结构体
   typedef struct _OSVERSIONINFO{
    DWORD dwOSVersionInfoSize;
   DWORD dwMajorVersion;
   DWORD dwMinorVersion;
    DWORD dwBuildNumber;
   DWORD dwPlatformId;
   TCHAR szCSDVersion[128];
   } OSVERSIONINFO;
dwOSVersionInfoSize 这个结构的大小, 使用之前, sizeof(OSVERSIONINFO)赋值给它就是了.
dwMajorVersion 主版本号
dwMinorVersion 次版本号
dwBuildNumber 编译时的版本标记
dwPlatformID 操作系统的标识, 在mobile系统上这个值都是 VER_PLATFORM_WIN32_CE, 及wince系统
szCSDVersion 附加说明, 字符串格式.从我测试的情况看, 好像都是空字符串.
这里的版本号实际上指的的wince的版本号, 而不是我们熟悉的什么 wm2003, wm5, wm6之类的.
比如说 DOPOD D600 上的系统版本号 5.1.422 . dwMajorVersion 对应的是5; dwMinorVersion 对应的是1; dwBuildNumber对应的是422 .
判断sp还是ppc, 则需要用到另外一个函数:
BOOL SystemParametersInfo(
UINT uiAction,
UINT uiParam,
   PVOID pvParam,
UINT fWinIni
);
这个函数的使用也很简单, 要获取系统平台, 将uiAction传进参数SPI_GETPLATFORMTYPE, uiParam是pvParam的大小, pvParam是接收数据的buf, fWinIni设为0即可.
如果pvParam传出的值是"Smartphone", 则表示是sp, 否则是ppc.

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: c# wm 手机
最后更新:24 9 月, 2010

chat

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
标签聚合
c# 序列号 CENTOS 激活 wm win10 PHP python
广告
分类
  • C sharp
  • Delphi
  • Python
  • VPS
  • 中医
  • 伤寒论
  • 其他
  • 单反摄影
  • 学无止尽
  • 工作相关
  • 愉悦生活
  • 未分类
  • 软件

COPYRIGHT © 2023 木木的布劳格. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang