Beim Herunterfahren automatisch auf lautlos stellen
Die Lösung mit NirCmd
C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\
für die Datei automute.vbs und
C:\Dokumente und Einstellungen\All Users\Desktop\für shutdown.vbs.
Die Skripte
Bei diesen Skripten handelt es sich um Visual Basic Scripts (VBS). Sie nutzen den von Hause aus in Windows schon vorhandenen Windows Scripting Host (WSH). Die Dateien können einfach mit einem Texteditor erstellt und abgespeichert werden. Wichtig ist nur, dass sie die Endung .vbs erhalten. Dazu sollte auch bekannte Dateieindungen vom Betriebssystem angezeigt werden (siehe hier).
automute.vbs
'******************************************************************** ' Logon script with MUTE OFF ' ' Version : 1.2b (09-07-02) ' author : buergernb ' ' Dieses Script setzt das Tool NIRCMD im Pfad "C:\automute" voraus. ' NIRCMD: http://www.nirsoft.net/utils/nircmd.html ' ' Einfach diese VBS-Datei in den Autostart kopieren oder verknüpfen. '******************************************************************** 'Erforderlicher Aufruf für eine Shellumgebung. '------------------------------------------ Set oShell = CreateObject("WScript.Shell") 'Schaltet den Ton ein. '------------------------------------------------- oShell.Run "C:\automute\nircmd.exe mutesysvolume 0" 'Trigger, der die Windows Eventschleife "abhört". 'Dabei wartet er auf ein Event vom Typ '"Win32_PowerManagementEvent". '------------------------------------------------- Set colMonitoredEvents = GetObject("winmgmts:")._ ExecNotificationQuery("Select * from Win32_PowerManagementEvent") 'Die Schleife zur Verarbeitung dieses Events. 'Gibt Win32_PowerManagementEvent die Zahl 4 zurück, 'ist der Rechner im Begriff in den Standby- oder 'Hibernate-Modus zu gehen. Also wird der Sound 'ausgeschaltet. Gibt es die Zahl 7 zurück, wacht der 'Rechner gerade auf und der Ton wird nach einer best. 'Wartezeit (hier 8000 Millisekunden) wieder eingeschaltet. '--------------------------------------------------- Do Set objLatestEvent = colMonitoredEvents.NextEvent Select Case objLatestEvent.EventType Case 4 oShell.Run "C:\automute\nircmd.exe mutesysvolume 1", , false Case 7 wscript.sleep 8000 oShell.Run "C:\automute\nircmd.exe mutesysvolume 0", , false End Select Loop
shutdown.vbs
'******************************************************************** ' Shutdown script with AUTOMUTE ' ' Version : 1.2b (09-07-02) ' author : buergernb ' ' Dieses Script setzt das Tool NIRCMD im Pfad "C:\automute" voraus. ' NIRCMD: http://www.nirsoft.net/utils/nircmd.html '******************************************************************** 'Erforderlicher Aufruf für eine Shellumgebung. '------------------------------------------ Set oShell = CreateObject("WScript.Shell") 'Schaltet den Ton ab. '------------------------------------------------- oShell.Run "C:\automute\nircmd.exe mutesysvolume 1" 'Hier wird das Herunterfahren um 1 s verzögert. Die Zahl 'hinter dem Schalter "-t" kann ist Wartezeit in Sekunden. Sie 'kann zwischen 0 und 600 (Sekunden) variieren. '------------------------------------------------------------- oShell.Run "%systemroot%\system32\shutdown.exe -s -t 00 -f"
Die Lösung mit AutoMute
Eine weitere Lösung besteht darin, die freie Software Auto Mute zu verwenden. Diese Lösung ist weniger umständlich als die Lösung mit NirCmd und vermeidet die mit NirCmd einhergehende ungewünschte kommerzielle Software. Diese Lösung hat sich bei mir seit langem hervorragend bewährt.
Links
Herstellerseite des Tools Nircmd