Python未显示Windows安装日期

3 投票
1 回答
580 浏览
提问于 2025-04-18 11:59

在Windows 7和Python 3.2.2环境下,下面这个脚本无法让我获取到Windows的安装日期。

import winreg as reg
from datetime import datetime

key = reg.OpenKey(reg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows NT\CurrentVersion')
secs = reg.QueryValueEx(key, 'InstallDate')[0]
print(secs)
date = datetime.fromtimestamp(secs)
print(date)

输出结果总是:

0
1970-01-01 01:00:00

但是当我用注册表编辑器手动查找这个键时,它的值是0x517c09e0(换算成十进制是1367083488)

1 个回答

0

在64位的Windows系统上,32位的Python程序访问注册表时,会被重定向到一个不同的注册表区域。

虽然你的代码是指定访问Software\Microsoft\Windows NT\CurrentVersion,但实际上它被重定向到了Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion

你可能需要在调用reg.OpenKey函数时,指定_winreg.KEY_WOW64_64KEY_winreg.KEY_WOW64_32KEY作为sam参数。

更多详细信息可以在这里这里找到。

撰写回答