Deklaration: Declare Function GetModuleHandle Lib "kernel32" _ Alias "GetModuleHandleA" ( _ ByVal lpModuleName As String) As Long
Beispiel: Private Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" ( _ lpszName As Any, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long Private Declare Function GetModuleHandle Lib "kernel32" _ Alias "GetModuleHandleA" ( _ ByVal lpModuleName As String) As Long Private Const SND_ALIAS = &H10000 ' der angegebene Name muss ein Eintrag aus der ' Win.ini unter [Sounds] sein Private Const SND_ALIAS_ID = &H110000 ' der angegebene Name muss ein Key aus der ' Win.ini unter [Sounds] sein Private Const SND_APPLICATION = &H80 ' der angegebene Name ist ein Ereignissound Private Const SND_ASYNC = &H1 ' stoppt die Wiedergabe aller Sounddateien um diese abzuspielen Private Const SND_FILENAME = &H20000 ' der angegebene Name ist ein Pfad zu einer ' Wave Datei Private Const SND_LOOP = &H8 ' wiederholt unendlich oft die Wiedergabe Private Const SND_MEMORY = &H4 ' der angegebene Name ist ein Byte Array mit den ' Wave-Datei-Daten Private Const SND_NODEFAULT = &H2 ' spielt keinen Standardsound ab, wenn die ' angegebene Datei nicht gefunden wird Private Const SND_NOSTOP = &H10 ' stoppt keine momentan laufenden Sounds Private Const SND_NOWAIT = &H2000 ' wartet nicht auf das Beenden eines Sounds ' um dann den angegebenen Sound abzuspielen Private Const SND_PURGE = &H40 ' stoppt die unendliche Wiedergabe der Sounds, die mit ' SND_LOOP eingeleitet wurde Private Const SND_RESOURCE = &H40004 ' der angegebene Name ist der Name einer ' Ressource, in der sich die Wave-Datei befindet. Für diesen Zweck muss hModule das ' Modul-Handle der Anwendung bekommen, die die Ressource besitzt Private Const SND_SYNC = &H0 ' die Funktion kehrt erst nach Beenden der Wiedergabe ' des Sounds zurück ' Tata direkt aus der Datei abspielen ohne auf Beenden des Sounds warten Private Sub Command1_Click() Dim Retval As Long ' Spielt den Sound ab und bricht den Vorgang ab, wenn diese Funktion erneut ' aufgerufen wird, bevor der Sound komplett abgespielt wurde Retval = PlaySound(ByVal "c:\windows\media\tada.wav", 0&, SND_ASYNC Or _ SND_FILENAME Or SND_NODEFAULT) End Sub ' Tata aus einer Variable abspielen Private Sub Command2_Click() Dim Retval As Long, FFile As Long, MemWav() As Byte ' öffnen der Datei und übertragen in MemWav FFile = FreeFile Open "c:\windows\media\tada.wav" For Binary As FFile ReDim MemWav(LOF(FFile)) Get FFile, , MemWav() Close FFile ' abspielen von Tata aus dem Speicher und auf Beenden des Sounds warten Retval = PlaySound(MemWav(0), 0&, SND_MEMORY Or SND_NODEFAULT) End Sub ' Tata aus der Ressource abspielen (funktioniert nicht in der IDE) Private Sub Command3_Click() Dim Retval As Long, hModule As Long ' Modul-Handle der Anwendung ermitteln hModule = GetModuleHandle(App.EXEName) ' Sound abspielen, aber bei erneutem Aufruf den laufenden Sound _ ' nicht abbrechen Retval = PlaySound(ByVal "Tada", hModule, SND_RESOURCE Or SND_NOSTOP Or _ SND_ASYNC Or SND_NODEFAULT) If Retval = 0 Then MsgBox "Das Programm wird in der IDE ausgeführt oder die Ressource mit _ dem Titel ""Tata"" wurde nicht gefunden.", vbInformation, "Achtung" End If End Sub ' Tata anhand des systemweiten Alias Strings abspielen, falls vorhanden (Tata ist in ' der Regel der Sound, der erklingt wenn Windows Beendet wird.) Private Sub Command4_Click() Dim Retval As Long ' Spielt den Sound ab und bricht den Vorgang ab. wenn diese Funktion erneut ' aufgerufen wird bevor der Sound komplett abgespielt wurde Retval = PlaySound(ByVal "SystemExit", 0&, SND_ASYNC Or SND_APPLICATION Or SND_NODEFAULT) End Sub Diese Seite wurde bereits 13.310 mal aufgerufen. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Buchempfehlung Tipp des Monats Oktober 2024 Heinz Prelle Firewall-Status unter WinXP/Vista prüfen Das Beispiel prüft, ob die Firewall unter Windows XP/Vista eingeschaltet ist oder nicht. Zudem wird eine Abfrage durchgeführt ob es sich bei dem zugrundeliegenden Betriebssystem um Windows XP/Vista handelt oder nicht. sevAniGif (VB/VBA) Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. |
||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |