none
如何通过注册表,判断Windows版本? RRS feed

  • 问题

  • 如果通过读取注册表来判断Windows是什么版本?比如说像xp是“家庭版”还是“专业版”?
    2009年8月10日 2:44

全部回复

  • 其实判断Windows XP版本是“家庭版”还是“专业版”有一个更方便快捷方法,就是查看我的电脑属性或者最终用户许可协议。

    2009年8月10日 3:33
  • 如果樓主不是涉及到編程序的話, 也可以用這個命令.

    C:\WINDOWS\system32>systeminfo | findstr "^OS"
    OS 版本:          5.1.2600 Service Pack 3 Build 2600
    OS 名称:          Microsoft Windows XP Professional
    OS 制造商:        Microsoft Corporation
    OS 配置:          独立工作站
    OS 构件类型:      Uniprocessor Free

    Folding@Home
    2009年8月10日 3:37
  • 呵呵。。。
    就是在程序中判断

    2009年8月10日 6:57
  • 呵呵。。。
    就是在程序中判断



    如果你指的是通过第三方程序来判断的话,你可以安装Everest,你可以通过它查看到系统的版本和密钥,同时也可通过它来检测各硬件工作时的温度。
    2009年8月10日 9:00
  • 具体想实现什么目的?目前基本上没有按照专业版或家庭版区别对待的第三方程序,能支持 Windows XP 就是支持、不支持就是不支持。
    Alexis Zhang (Microsoft MVP 2004' 2007' 2008' 2009')
    2009年8月10日 9:56
    版主
  • 不知道你用的什么语言

    .Net通过System.Environment.OSVersion.Version可以获得

    技术成就梦想!
    2009年8月10日 10:54
  • 如果樓主不是涉及到編程序的話, 也可以用這個命令.

    C:\WINDOWS\system32>systeminfo | findstr "^OS"
    OS 版本:          5.1.2600 Service Pack 3 Build 2600
    OS 名称:          Microsoft Windows XP Professional
    OS 制造商:        Microsoft Corporation
    OS 配置:          独立工作站
    OS 构件类型:      Uniprocessor Free

    Folding@Home

    找了一下, 沒有在注冊表中找到表明系統是 Home 還是 Professional 的鍵值, 當然不排除其是通過某種 ID 標示的.

    我建議樓主可以用在你程序裏面執行外部命令, 曲綫實現目標.

    systeminfo | findstr "^OS" > "%TEMP%\tmp_win_ver.temp"

    該命令將版本信息輸出到你當前用戶的 TEMP 文件夾的文件 tmp_win_ver.temp 中, 文件 tmp_win_ver.temp, 然後讀取文件 tmp_win_ver.temp 的內容, 獲取具體 Windows XP 版本, 最後刪除該文件.



    Folding@Home
    2009年8月10日 12:38
  • 首先谢谢楼上各位的热心回复!
    因为HOME版的XP不能安装IIS。所以我想判断一下版本,还有我用的是C#。
    2009年8月10日 14:04
  • 用 System.Environment.OSVersion.Version (也包括 System.Environment.OSVersion.VersionString) 只能返回 Windows 系統的版本號, 不能返回出具體的版本.
    Folding@Home
    2009年8月10日 14:15
  • 用 System.Environment.OSVersion.Version (也包括 System.Environment.OSVersion.VersionString) 只能返回 Windows 系統的版本號, 不能返回出具體的版本.
    Folding@Home

    是啊,所以我想在注册表想想办法
    2009年8月10日 14:19