none
如何获取 Windows 7的版本(如家庭普通版、旗舰版) RRS feed

  • 常规讨论

  • 我的程序跟主题有关,因此想要区分当前用户的Win7版本来进行不同的操作

    我找了很多地方,发现都是通过GetVersionEx得出wSuiteMask值来区分操作系统版本,而MSDN对这个的介绍只更新到Vista,并且我用虚拟机尝试装了所有的系统后发现,Starter(简易版)、HomeBasic(家庭普通版)、Home Premium(家庭高级版)的wSuiteMask都是756,而Professional(专业版)、Ultimate(旗舰版)的wSuiteMask值都是256, Enterprise(企业版)没有测试。

    因此我无法将能够用主题的Home Premium(家庭高级版)和不能用主题的Starter(简易版)、HomeBasic(家庭普通版)区别开来。

    于是我又继续寻找,发现运行“slmgr.vbs -dli”能够获取到正确的版本号,但是我查看它的代码,却复杂到到我根本看不懂(虽然我会VB 6但里面的代码太错综复杂了)

    cmd命令"systeminfo"也能够获取到系统版本,但是获取到的是中文的而不是英文,我不可能每个种语言环境都去加一个判断。

    我实在是没辙了,因此到这里寻找帮助了

    结果就在打这篇文章的时候,我去注册表找了半天居然就这样被我给找到了……

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    EditionID

    那于是就是这样,问题已经解决了……

    2012年8月24日 15:56

全部回复