📜  excel vba 读取注册表项值 - VBA (1)

📅  最后修改于: 2023-12-03 15:00:38.640000             🧑  作者: Mango

Excel VBA 读取注册表项值 - VBA

在Excel VBA中,通过读取注册表项的值,我们可以获取电脑系统的一些基础配置信息,比如操作系统版本、CPU型号、内存大小等。

以下是一个简单的示例代码,用于读取注册表中的一个值:

Dim RegPath As String
Dim RegValue As String

' 定义要读取的注册表路径和键值名称
RegPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
RegValue = "ProductName"

' 读取注册表项的值
Dim RegObj As Object
Set RegObj = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
RegObj.GetStringValue HKEY_LOCAL_MACHINE, RegPath, RegValue, RegValue
' 将读取到的值输出到调试窗口
Debug.Print RegValue

以上代码中,我们首先定义了要读取的注册表路径和键值名称,然后通过GetObject函数获取了StdRegProv对象,用于读取注册表项的值。最后,我们调用GetStringValue方法,以读取该键值的值,并将其输出到调试窗口。

另外,需要注意的是,在Windows 64位系统下,如果要读取32位程序的注册表项,需要在注册表路径前加上Wow6432Node,示例如下:

' 读取32位程序的注册表项值
RegPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion"

通过以上示例代码,我们可以轻松地读取注册表项的值,从而实现对电脑系统信息的获取。