senseless-creature
Goto Top

VBS soll den Wert aller REGSZ in einem Schlüssel ändern

On Error Resume Next 
Set objShell = CreateObject("WScript.Shell")  
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."  
Set objRegistry = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & strComputer & "\root\default:StdRegProv")  
strRegRoot = HKEY_CURRENT_USER
strKey = "SOFTWARE\Microsoft\DirectX\UserGpuPreferences"  
If objRegistry.EnumKey(strRegRoot, strKey, arrKeyNames) = 0 Then
If IsNull(arrKeyNames) = False Then 
For Each strKeyName In arrKeyNames
If Right(strKey, 1) = "\" Then  
strFullPath = strKey & strKeyName
Else
strFullPath = strKey & "\" & strKeyName  
End If
objRegistry.SetStringValue strRegRoot, strFullPath, "GpuPreference=2;"   
Next
End If
End If	
Err.Clear 


Hey Leute, ich bekomme es partout nicht hin, dass das VBS den Wert der Zeichenfolgen in dem Schlüssel verändert - hat jemand eine Idee, wo der Fehler liegt?

Edit:
Ich vermute, dass vielleicht in der Zeile objRegistry.SetStringValue strRegRoot, strFullPath, der Name der REG_SZ so noch nicht korrekt enthalten sein könnte..

Content-Key: 7662997779

Url: https://administrator.de/contentid/7662997779

Printed on: May 18, 2024 at 04:05 o'clock

Member: emeriks
emeriks Jun 27, 2023 at 08:12:10 (UTC)
Goto Top
Hi,
kommentiere mal das "On Error Resume Next" aus. Dann bekommst Du ggf. auftretende Fehler gemeldet und kannst darauf reagieren.

E.
Mitglied: 7426148943
7426148943 Jun 27, 2023 updated at 10:47:08 (UTC)
Goto Top
Zitat von @Senseless-Creature:
Ich vermute, dass vielleicht in der Zeile objRegistry.SetStringValue strRegRoot, strFullPath, der Name der REG_SZ so noch nicht korrekt enthalten sein könnte..
Nicht vermuten, just RTFM, dir fehlt ein Parameter für den Wert, du papst Name und Wert in einen zusammen, dat jeht ned ...
https://learn.microsoft.com/en-us/previous-versions/windows/desktop/regp ...

Zeppel