Сайт Влада

Воспроизведение стандартных звуков Windows.

Итак, в Windows есть стандартные звуки, которые оповещают пользователя, например, об ошибках. Нередко возникает необходимость воспроизвести их в Вашей программе, например, при имитировании MsgBox'а. Бесспорно, можно таскать их с собой, однако многие пользователи попросту заменяют эти звуки на свои. К сожалению Visual Basic позволяет воспроизвести только один стандартный звук, поэтому мы прибегнем к АПИ.

Слава богу, что существует такая полезная функция, как MessageBeep:

Private Declare Function MessageBeep Lib "user32.dll" (ByVal wType As Long) As Long
Const MB_ICONASTERISK = &H40
Const MB_ICONEXCLAMATION = &H30
Const MB_ICONHAND = &H10
Const MB_ICONQUESTION = &H20
Const MB_OK = &H0

Эта функция воспроизводит один из звуков MsgBox'а: ошибка, восклицание, вопрос или информация. Итак, испробуйте функцию MessageBeep:

MessageBeep MB_OK ' Эквивалент функции Beep
MessageBeep MB_ICONQUESTION ' Вопрос
MessageBeep MB_ICONEXCLAMATION ' Восклицание
MessageBeep MB_ICONASTERISK ' Информация
MessageBeep MB_ICONHAND ' Ошибка

Вы также можете скачать мой готовый пример в разделе «Исходники».


Оригинальная статья Влада Рубцова. https://vladikcomper.scanf.su/