Der Zugriff auf den registry-key '[KEY_NAME]' wird verweigert

Ich Schreibe ein kleines Programm in Visual Basic 2008, spiegelt die Werte des speziellen DWORDs in einen registry-Schlüssel

Den registry-Schlüssel in der Frage ist:

'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{91801674-82d9-459a-9358-6e5cf3d81d21}\FxProperties'

Den dword-ich bin zu manipulieren ist "{e0a941a0-88a2-4df5-8d6b-dd20bb06e8fb},4"

Dies ist die Linie der code, den ich schrieb, um den DWORD-Wert:

Dim keyString = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{91801674-82d9-459a-9358-6e5cf3d81d21}\FxProperties"
My.Computer.Registry.SetValue(keyString, "{ad75efc0-8f48-4285-bfa8-40fb036cdab2},2", "00000000")

Aber ich bekomme UnauthorizedAccessException zur Laufzeit, die besagt, dass "der Zugriff auf den registry-Schlüssel [KEY_NAME] verweigert."

Lief ich das Programm mit Administrator-rechten geändert manifest der app enthalten:

<requestedExecutionLevel level="highestAvailable" uiAccess="false" />

Aber das hat nicht funktioniert entweder. So suchte ich ein paar Foren und habe versucht diese:

Dim rkLM As RegistryKey = Registry.LocalMachine
Dim pRegKey As RegistryKey = rkLM.OpenSubKey("\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{91801674-82d9-459a-9358-6e5cf3d81d21}\FxProperties", True)
pRegKey.SetValue("{ad75efc0-8f48-4285-bfa8-40fb036cdab2},2", "00000000")

Aber das warf eine NullReferenceException bei mir die Meldung "Objektverweis nicht auf eine Instanz eines Objekts."

Gibt es eine Möglichkeit, die ich ändern kann, daß dieser Schlüssel, ohne dass mein Programm mit SYSTEM Privilegien?

InformationsquelleAutor Vinayak | 2012-10-23

Schreibe einen Kommentar