将多个值写入 Reg_SZ

writing multiple values to Reg_SZ

我有一个应用程序需要将多个配置文件写入 reg_sz 作为

"sEndorsement"="C:\x\file1.txt
C:\x\file2.txt"

通过注册表编辑器添加这个不起作用。我尝试使用 vbscript 执行以下操作,

Dim myval
myval = "C:\x\file1.txt" & VbCrLf _
& "C:\x\file2.txt" & VbCrLf _
& "C:\y\file3.dll" & VbCrLf

Dim WSHShell
set WSHShell = CreateObject("WScript.Shell")
WSHShell.RegWrite "HKEY_USERS\abc\def\TheSelectedFiles", myval, "REG_SZ"

但它仍然以单行结束。我不确定。有人可以帮助我吗??谢谢

对于多行,这称为 REG_MULTI_SZ 而不是 REG_SZ。 您不能在 HKEY_USERS 的根目录下创建密钥,您需要使用 .Default 子密钥。这些值似乎在同一行,但如果双击该值,您会看到有 3 行。

Set objRegistry = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\.\root\default:StdRegProv")
Const HKEY_CLASSES_ROOT =    &H80000000
Const HKEY_CURRENT_USER =    &H80000001
Const HKEY_LOCAL_MACHINE =   &H80000002
Const HKEY_USERS =           &H80000003
Const HKEY_CURRENT_CONFIG =  &H80000005

strKeyPath = ".DEFAULT\abc\def\TheSelectedFiles"
MultValueName = "sEndorsement"
iValues = Array("C:\x\file1.txt", "C:\x\file2.txt", "C:\y\file3.dll")
objRegistry.CreateKey HKEY_USERS,strKeyPath
objRegistry.SetMultiStringValue HKEY_USERS,strKeyPath,MultValueName,iValues