Windows如何获取并显示我的电脑系统版本

How does Windows obtain and display My Computer System Version

美好的一天

在 Windows 中,当打开我的电脑属性 window 时,会出现一个包含 'System' 信息的常规选项卡。例如,在我的 Windows 上它说:

系统: 微软 Windows XP 专业 x64 版 版本 2003 服务包 2

Windows 从哪里得到这些信息?修改注册表的 'CurrentVersion' 项和 'prodspec.ini' 文件不会更改此输出。

谢谢

Windows 内核将其版本存储为全局变量。在创建新进程时,OS 版本被复制到进程的 Process Environment Block 中(可从用户模式访问)。该进程通过调用 WINAPI GetVersion() 获取版本,它只需从进程环境块中读取即可检索版本。

您可以在 explorer.exe 上使用调试器来查看当您打开“我的电脑”属性 window 时它确实调用了 GetVersion()