Rubrik: Multimedia & Sound · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 30.06.04 |
PC-Speaker de- und aktivieren Aktivieren und deaktivieren des PC-Speakers über Registry-Keys | ||
Autor: Markus Gerhard | Bewertung: | Views: 14.686 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Über einen Eintrag in der Registry wird der PC-Lautsprecher aktiviert bzw. deaktiviert. Dies sollte unter allen Win-Betriebsystemen ab 98/NT4 laufen. Wirksam wird das Ganze nach einem Neustart, der manuell durchgeführt werden muss. Die Funktionen zum Lesen und Schreiben der Registry stammen hier nachfolgendem Tipp: Registry lesen und schreiben ohne API
Benötigte Verweise/Komponenten:
Es werden keine zusätzlichen Verweise oder Komponenten benötigt.
Benötigte Controls für das Beispielprojekt:
Quellcode:
Option Explicit ' Registry-Zweig, in der die Einstellung gespeichert ist Const cPATH As String = "HKEY_CURRENT_USER\Control Panel\Sound\ExtendedSounds"
Private Sub Form_Load() ' aktuelle Einstellung lesen... If RegRead(cPATH) = "yes" Then ' ... und Vorgabe setzen optDisable.Value = True Else optEnable.Value = True End If End Sub
Private Sub cmdApply_Click() ' Einstellungf übernehmen Dim sValue As String Dim sText As String If optEnable.Value Then sValue = "yes" sText = "aktiviert" Else sValue = "no" sText = "deaktiviert" End If If RegWrite(cPATH, sValue) Then MsgBox "Der PC-Speaker wurde erfolgreich " & sText, vbOKOnly, "Status" Else MsgBox "Der PC-Speaker konnte nicht " & sText & " werden.", vbOKOnly, "Fehler" End If End Sub
Und hier noch die beiden Registry-Funktionen aus o.g. Tipp:
' Gibt den Wert des Schlüssels aus "Path" zurück Public Function RegRead(Path As String) As String Dim ws As Object On Error GoTo ErrHandler Set ws = CreateObject("WScript.Shell") RegRead = ws.RegRead(Path) Exit Function ErrHandler: RegRead = "" End Function
' Schreibt den Wert aus "Value" als den Typ aus "Typ" ' in den in "Path" angegebenen Schlüssel Public Function RegWrite(ByVal Path As String, _ ByVal Value As String, _ Optional ByVal Typ As String = "REG_SZ") As Boolean Dim ws As Object On Error GoTo ErrHandler Set ws = CreateObject("WScript.Shell") ws.RegWrite Path, Value, Typ RegWrite = True Exit Function ErrHandler: RegWrite = False End Function