Rubrik: Multimedia & Sound · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 07.11.01 |
Systemklänge abspielen Dieses Beispiel zeigt, wie sich die in der Windows-Systemsteuerung eingestellten Systemklänge abspielen lassen. | ||
Autor: Dieter Otter | Bewertung: | Views: 21.854 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
In der Windows-Systemsteuerung lassen sich für viele vordefinierten Programmereignisse bestimmte Sounddateien festlegen, die dann automatisch von Windows abgespielt werden, sobald diese Ereignisse eintreten (z.B. Windows-Start, Windows-Ende, Frage-MessageBox, Hinweis, usw.)
Diese zugeordneten Sounddateien lassen sich auch gezielt in Ihrem Visual Basic Projekt abspielen.
Hierzu müssen Sie lediglich die Windows-API Funktion PlaySound mit den entsprechenden String-Konstanten aufrufen:
' Benötigte API-Funktion zum Abspielen des Sounds Private Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" ( _ ByVal lpszName As String, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long ' Verfügbare Programmereignisse ' Kostanten für PlaySound API-Funktion Public Enum SystemSound ssFrage ssHinweis ssKritischerAbbruch ssMaximieren ssMenuebefehl ssMenuePopUp ssMinimieren ssNeueMail ssProgrammOeffnen ssProgrammSchliessen ssProgrammfehler ssStern ssVergroessern ssVerkleinern ssWindowsBeenden ssWindowsStarten End Enum
Prozedur, welche für das Abspielen zuständig ist
Die Prozedur PlayWinSound erwartet nur einen einzigen Paramter - ein Element der SystemSound-Aufzählung.
' Windows-Systemklänge abspielen Public Sub PlayWinSound(ssEvent As SystemSound) ReDim ssCmd(15) As String ssCmd(0) = "SystemQuestion" ' Frage ssCmd(1) = "SystemExclamation" ' Hinweis ssCmd(2) = "SystemHand" ' Kritischer Abbruch ssCmd(3) = "Maximize" ' Maximieren ssCmd(4) = "MenuCommand" ' Menübefehl ssCmd(5) = "MenuPopUp" ' Menü-PopUp ssCmd(6) = "Minimize" ' Minimieren ssCmd(7) = "MailBeep" ' Neue Mail ssCmd(8) = "Open" ' Programm öffnen ssCmd(9) = "Close" ' Programm schliessen ssCmd(10) = "AppGPFault" ' Programmfehler ssCmd(11) = "SystemAsterix" ' Stern ssCmd(12) = "RestoreUp" ' Vergrößern ssCmd(13) = "RestoreDown" ' Verkleinern ssCmd(14) = "SystemExit" ' Windows beenden ssCmd(15) = "SystemStart" ' Windows starten ' Konstanten für PlaySound dwFlags Const SND_ALIAS = &H10000 Const SND_ASYNC = &H1 Const SND_NODEFAULT = &H2 If ssEvent >= 0 And ssEvent <= UBound(ssCmd) Then PlaySound ssCmd(ssEvent), 0&, SND_ALIAS Or _ SND_ASYNC Or SND_NODEFAULT End If End Sub
Aufruf der Prozedur
Um nun z.B. den eingestellten Systemklang für die Benachrichtigung neuer Mails abzuspielen, rufen Sie die Prozedur PlayWinSound mit dem Element ssNeueMail auf:
' Systemklang für "Neue Nachrichten" abspielen
PlayWinSound ssNeueMail