Hallo allerseits,
ich versuche gerade ein Skript zu schreiben, was mich per Hotkey zwischen Audio-Ausgabe-Geräten switchen lässt, indem es die nicht erwünschten Geräte deaktiviert. Das Skript findet die passenden Keys, und kann auch problemlos auslesen, ob die dazugehörigen Geräte aktiviert sind, allerdings scheitert es am RegWrite, diesen Zustand zu ändern. Zur Darstellung des Problems habe ich es auf die wesentlichen Zeilen des Problems heruntergekürzt:
Code
#RequireAdmin
$sKey = "HKLM64\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{ff079292-973b-4628-ad10-b82ebb8c7f80}"
$sVal = "DeviceState"
ConsoleWrite(RegRead($sKey, $sVal) & @CRLF) ; --> 1
RegWrite($sKey, $sVal, "REG_DWORD", "0x00000002")
ConsoleWrite(@error & @CRLF) ; --> 1
ConsoleWrite(RegRead($sKey, $sVal) & @CRLF) ; --> 1
Alles anzeigen
Dabei wird der Wert korrekt gelesen, allerdings nicht verändert, mit @error = 1 ("unable to open requested key"). Das Programm kriegt (wie auch Scite vorher) Adminrechte beim Start und läuft auf einem Windows 10 64bit System.