Beim Herunterfahren automatisch auf lautlos stellen: Unterschied zwischen den Versionen

Aus ThinkPad-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 50: Zeile 50:
  '---------------------------------------------------
  '---------------------------------------------------
  Do
  Do
    Set objLatestEvent = colMonitoredEvents.NextEvent
     Set objLatestEvent = colMonitoredEvents.NextEvent
   
   
    Select Case objLatestEvent.EventType
     Select Case objLatestEvent.EventType
   
   
    Case 4
       Case 4
        oShell.Run "C:\automute\nircmd.exe mutesysvolume 1", , false
         oShell.Run "C:\automute\nircmd.exe mutesysvolume 1", , false
   
   
      Case 7
       Case 7
        wscript.sleep 8000
         wscript.sleep 8000
        oShell.Run "C:\automute\nircmd.exe mutesysvolume 0", , false
         oShell.Run "C:\automute\nircmd.exe mutesysvolume 0", , false
   
   
    End Select
     End Select
  Loop
  Loop



Version vom 6. Juli 2009, 00:20 Uhr

Gerade Besitzer eines T43 oder X41 haben dank der von IBM konzipierten und verbauten SATA-to-IDE-Bridge nicht nur das Problem nur noch wenige aktuelle Festplatten mit entsprechend großer Kapazität zu finden. Durch eine Routine im BIOS dieser Modelle wird das verwendete Laufwerk beim Start auf eine von IBM freigegebene Firmware überprüft. Wird eine solche Firmware nicht vorgefunden, quittiert dies das BIOS je nach Einstellung mit einem Pieps-Ton oder bricht den Start ganz und gar ab. Trotz dieser Fehlermeldung, dem berühmten "Error 2010", arbeitet das ThinkPad einwandfrei. Allein das Warnsignal während des Hochfahrens stört den Benutzer und es kommt schnell der Wunsch auf, das Notebook zumindest für die Startphase zum Schweigen zu bringen.


1. Was bracht man

Als erstes das Tool Nircmd. Ohne dieses oder ähnliche Tools kann der Ton über die Komandozeile nicht bewußt nur ein- oder eben nur ausschalten werden. Dann zwei VBS-Skripte: Eins wird in den Autostart kopiert (automute.vbs) oder eben dorthin verlinkt (finde ich persönlich übersichtlicher). Das zweite (shutdown.vbs) wird auf den Desktop kopiert oder verknüpft. Als Benutzer muss man sich nur daran gewöhnen, den Rechner über diese Verknüpfung herunterzufahren.

2. Die Skripte

automute.vbs

'********************************************************************
' Logon script with MUTE OFF
'
' Version	: 1.2b (09-07-02)
' author	: buergernb
'
' Dieses Script setzt das Tool NIRCMD im Pfad "C:\nircmd" 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"
Beispiel der Shutdown-Verknüpfung auf dem Desktop. By buergernb at 2009-07-02


Links

Herstellerseite des Tools Nircmd