#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_outfile=z:\WinSoundsOff.exe #AutoIt3Wrapper_Res_Comment=Admin: Alle User, sonst angemeldeter User1 #AutoIt3Wrapper_Res_Description=Soundschema "Keine Sounds" einstellen. #AutoIt3Wrapper_Res_Fileversion=1.0.0.4 #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y #AutoIt3Wrapper_Res_LegalCopyright=(c) 2010 by Rudolf Thilo, IT-Beratung Rudolf Thilo #AutoIt3Wrapper_Res_Language=1031 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include $Start = "HKEY_CURRENT_USER\AppEvents\Schemes" $Catch = ".Current" $Val = "" $Type = "REG_SZ" $Log = "C:\install\" & StringTrimRight(@ScriptName, 3) & "LOG" $silent = False If $cmdline[0] > 0 Then For $i = 1 To $cmdline[0] If StringInStr($cmdline[$i], "silent") Then $silent = True ExitLoop EndIf Next EndIf $Log_h = FileOpen($Log, 2 + 8) FileWriteLine($Log_h, "Silent=" & $silent) FileWriteLine($Log_h, "Stelle Windows Sound Schema 'Keine Sounds' ein: " & _NowCalc()) FileWriteLine($Log_h, "") FileWriteLine($Log_h, "Für aktuell angemeldeten Benutzer: '" & @UserName & "'" & @CRLF & "--------------------------------------------------------------------------------") If @UserName = "SYSTEM" Then FileWriteLine($Log_h, "Sicherheitskontext von ""SYSTEM"", hier muss nichts korrigiert werden...") Else ; für den aktuell angemeldeten Benutzer: RegWrite($Start, "", $Type, ".None") Loopen($Start) FileWriteLine($Log_h, "Fertig mit angemeldetem Benutzer: " & @UserName & @CRLF) EndIf If IsAdmin() Then ; auch noch für alle bestehenden Benutzeraccounts: FileWriteLine($Log_h, @CRLF & @CRLF & "Admin-Rechte gegeben: Auch noch alle übrigen bestehenden lokalen Accounts.") $U_Prefix = "S-1-5-21-" ; so fangen alle User Accounts an. $SkipSuffix = "_classes" ; so hören (unklare, nicht geGOOGLEt) Zusatzschlüssel für Accounts mit >= 1x GUI Anmeldung auf. $k = 0 While 1 $k += 1 $Next = RegEnumKey("HKU", $k) If @error Then ExitLoop If StringRight($Next, StringLen($SkipSuffix)) = $SkipSuffix Then ContinueLoop If StringLeft($Next, StringLen($U_Prefix)) = $U_Prefix Then FileWriteLine($Log_h, "---------------------------------------------------------------------------------") $Start = "HKU\" & $Next & "\AppEvents\Schemes" FileWriteLine($Log_h, $Start & @CRLF) RegWrite($Start, "", $Type, ".None") ; Namen des aktuellen Sound Schemas Loopen($Start) EndIf WEnd If $silent Then ToolTip("Windows Sound Schema wurde für alle lokalen Benutzer auf 'Keine Sounds' geändert.") Else MsgBox(64, "Windows Sound Schema - ADMIN", "Windows Sound Schema wurde für alle lokalen Benutzer auf 'Keine Sounds' geändert.", 5) EndIf Else If $silent Then ToolTip("Ihr Windows Sound Schema wurde auf 'Keine Sounds' geändert.") Else MsgBox(64, "Windows Sound Schema", "Ihr Windows Sound Schema wurde auf 'Keine Sounds' geändert.", 5) EndIf EndIf If $silent Then Sleep(3000) Func Loopen($LoopKey) ; ConsoleWrite("--------"& @crlf & "Jetzt: " & $LoopKey & @CRLF) Local $k = 0 While 1 $k += 1 $Next = RegEnumKey($LoopKey, $k) If @error Then ExitLoop If $Next = $Catch Then If not (RegRead($LoopKey & "\" & $Next, "") == "") Then $Clean = False If RegDelete($LoopKey & "\" & $Next, "") Then FileWriteLine($Log_h, "OK : " & $LoopKey & "\" & $Next) Else FileWriteLine($Log_h, "OK : " & $LoopKey & "\" & $Next) EndIf Else Loopen($LoopKey & "\" & $Next) EndIf WEnd EndFunc ;==>Loopen