Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Private Declare Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Ich glaube nicht, dass das stimmt, da meine Soundkarte definitiv installiert ist, der Beep aber nicht über die Boxen kommt.Beep lässt bei nicht installierter Soundkarte ein beep über die PC-Speaker laufen...
Bei installierter Soundkarte kommt ein Beep über die Soundkarte....
Ich weiß nicht mit Sicherheit, ob das bei den anderen Test-PCs der Fall ist, weil ich das Prog den Besitzern nur geschickt habe und dann nachgefragt habe, ob Beep geht. Das wäre natürlich ein möglicher Grund, aber es kommt mir doch ein wenig seltsam vor, dass bei so vielen Computern kein Pc-Speaker vorhanden ist.3. Sind die PC-Speaker angeschlossen am Mainboard angeschlossen?
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Declare Function APIBeep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Außerdem ist es keine VB-API Beep sondern es ist die WINDOWS API Beep in der kernel32.dll, kannst es ja nachprüfen...:S
Geschrieben von mir
es wurde auch schon im zweiten Post des Threadstarters gesagt, dass es um die WinAPI-Funktion geht
Geschrieben von mir
Also, ich habe zwar noch nie etwas mit VB gemacht, aber Beep ist ja schließlich eine WinAPI-Funktion und nichts VB-spezifisches(außer Beep in der vb-dll, wie cdw erwähnte). Aber die normale kernel32.Beep-Funktion geht über den internen Lautsprecher(siehe msdn dazu). MessageBeep funktioniert über die Soundkarte und ist wohl unter VB mit Beep betitelt, wie es CDWs Post zu entnehmen ist.
Geschrieben von Gabriel3
Ich meinte mit "unter VB", dass ich unter VB die Win-Api Beep
Geschrieben von Ar-ras
jetzt muss ich doch mal vb installieren
EDIT:
Nö muss ich nicht...
http://www.vbarchiv.net/vbapi/Beep.php
Achja? Dann mache mal folgendes:war ironisch gemeint... Es kommt eine Fehlermeldung.... ist doch klar, aber dafür muss man nicht die Windows API GetLastError aufrufen.
Geschrieben von Ar-ras
Er hat am ANFANG von BEEP gesprochen... dieses Verhielt sich normalerweise so wie ich es auch erklärt hatte...
Ich kann ja nicht ahnen, das die Programmierer von Windows dass trennen (bezüglich beep aus kernel32.dll
Geschrieben von dieser vb-seite
ist keine Soundkarte installiert, so erklingt der Systemsound über den PC Speaker
Geschrieben von msdn
The Beep function generates simple tones on the speaker. The function is synchronous; it performs an alertable wait and does not return control to its caller until the sound finishes.
7C838AAB 68 AC8B837C PUSH kernel32.7C838BAC ; UNICODE "\Device\Beep"
7C838AB0 8D45 DC LEA EAX, DWORD PTR SS:[EBP-24]
7C838AB3 50 PUSH EAX
7C838AB4 FF15 4010807C CALL DWORD PTR DS:[<&ntdll.RtlInitUnicodeString>] ; ntdll.RtlInitUnicodeString
7C838ABA 56 PUSH ESI
7C838ABB 56 PUSH ESI
7C838ABC 56 PUSH ESI
7C838ABD 6A 03 PUSH 3
7C838ABF 6A 03 PUSH 3
7C838AC1 56 PUSH ESI
7C838AC2 8D45 DC LEA EAX, DWORD PTR SS:[EBP-24]
7C838AC5 8945 CC MOV DWORD PTR SS:[EBP-34], EAX
7C838AC8 56 PUSH ESI
7C838AC9 8D45 E4 LEA EAX, DWORD PTR SS:[EBP-1C]
7C838ACC 50 PUSH EAX
7C838ACD 8D45 C4 LEA EAX, DWORD PTR SS:[EBP-3C]
7C838AD0 50 PUSH EAX
7C838AD1 6A 03 PUSH 3
7C838AD3 8D45 F8 LEA EAX, DWORD PTR SS:[EBP-8]
7C838AD6 50 PUSH EAX
7C838AD7 C745 C4 18000000 MOV DWORD PTR SS:[EBP-3C], 18
7C838ADE 8975 C8 MOV DWORD PTR SS:[EBP-38], ESI
7C838AE1 8975 D0 MOV DWORD PTR SS:[EBP-30], ESI
7C838AE4 8975 D4 MOV DWORD PTR SS:[EBP-2C], ESI
7C838AE7 8975 D8 MOV DWORD PTR SS:[EBP-28], ESI
7C838AEA FF15 0810807C CALL DWORD PTR DS:[<&ntdll.NtCreateFile>] ; ntdll.ZwCreateFile
7C838AF0 8BF8 MOV EDI, EAX
7C838AF2 3BFE CMP EDI, ESI
7C838AF4 0F8C 24220000 JL kernel32.7C83AD1E
7C838AFA 8B45 08 MOV EAX, DWORD PTR SS:[EBP+8]
7C838AFD 3BC6 CMP EAX, ESI
7C838AFF 8B3D 3810807C MOV EDI, DWORD PTR DS:[<&ntdll.NtDeviceIoControlFile>] ; ntdll.ZwDeviceIoControlFile
7C838B05 53 PUSH EBX
7C838B06 BB 00000100 MOV EBX, 10000 ; UNICODE "=::=::\"
7C838B0B 0F84 3C030000 JE kernel32.7C838E4D
7C838B11 83F8 25 CMP EAX, 25
7C838B14 0F82 41030000 JB kernel32.7C838E5B
7C838B1A 3D FF7F0000 CMP EAX, 7FFF
7C838B1F 0F87 36030000 JA kernel32.7C838E5B
7C838B25 56 PUSH ESI
7C838B26 56 PUSH ESI
7C838B27 8945 EC MOV DWORD PTR SS:[EBP-14], EAX
7C838B2A 8B45 0C MOV EAX, DWORD PTR SS:[EBP+C]
7C838B2D 6A 08 PUSH 8
7C838B2F 8945 F0 MOV DWORD PTR SS:[EBP-10], EAX
7C838B32 8D45 EC LEA EAX, DWORD PTR SS:[EBP-14]
7C838B35 50 PUSH EAX
7C838B36 53 PUSH EBX
7C838B37 8D45 E4 LEA EAX, DWORD PTR SS:[EBP-1C]
7C838B3A 50 PUSH EAX
7C838B3B 56 PUSH ESI
7C838B3C 56 PUSH ESI
7C838B3D 56 PUSH ESI
7C838B3E FF75 F8 PUSH DWORD PTR SS:[EBP-8]
7C838B41 FFD7 CALL EDI
Hal.dll, Funktion: HalMakeBeep
//Lautsprecher einschalten(offset:80018B58):
in al, 61h
jmp short $+2
and al, 0FCh
out 61h, al
//Timer bereit machen+Sound abspielen(offset:80018B7D)+Lautsprecher abschalten
push eax
mov al, 0B6h
out 43h, al ; Timer 8253-5 (AT: 8254.2).
jmp short $+2
pop eax
out 42h, al
jmp short $+2
mov al, ah
out 42h, al
jmp short $+2
in al, 61h
jmp short $+2
or al, 3
out 61h, al
Meine Rede:Fazit: Auf der VB-Seite steht Mist. Die Soundkarte wird nicht verwendet.
Wie auch immer.Zitat von Ar-ras:
Beep lässt bei nicht installierter Soundkarte ein beep über die PC-Speaker laufen...
Bei installierter Soundkarte kommt ein Beep über die Soundkarte....
Ich:
Ich glaube nicht, dass das stimmt, da meine Soundkarte definitiv installiert ist, der Beep aber nicht über die Boxen kommt