функции С и C++, библиотек C++Builder, API Windows________________909

Функция C++Builder Веер воспроизводит стандартный звуковой сигнал, вы-
зывая функцию MessageBeep API Windows с нулевым параметром. При этом вос-
производится стандартный звуковой сигнал, установленный в Windows, если
компьютер имеет звуковую карту и стандартный сигнал задан (он устанавливается
в «Панели управления» после щелчка на пиктограмме Звук). Если звуковой карты
нет или стандартный сигнал не установлен, звук воспроизводится через динамик
компьютера.

Воспроизведение асинхронное, т.е. приложение продолжает выполняться во
время воспроизведения звука.

Функция Веер API Windows, примененная в Windows NT, синхронно воспро-
изводит звук простого тона через динамик и не возвращается до окончания звука.
В Windows NT параметр dwFreq задает частоту звука в герцах. Он может иметь
значения в диапазоне от 37 до 32,767 (от 0х25 до Ox7FFF). Параметр dwDuration
устанавливает длительность звука в миллисекундах.

Воспроизведение синхронное: функция не возвращается до окончания воспро-
изведения звука.

Все сказанное относится только к Windows NT. В Windows 95 и 98 параметры
игнорируются и функция становится подобной функции Веер C++Builder. Отли-
чие этих функций остается только в том, что Веер C++Builder ничего не возвраща-
ет, а Веер API Windows при успешном выполнении возвращает ненулевое значе-
ние. При аварийном завершении она возвращает нуль. Тогда более развернутую
информацию об ошибке можно получить вызовом функции GetLastError (см. раз-
дел 14.20).

Компилятор автомитически разбирается, какая именно из функций Веер ис-
пользована в программе, по наличию или отсутствию параметров.

Функция MessageBeep воспроизводит звуковой сигнал указанного типа. Зву-
ки, соответствующие различным типам сигналов, хранятся в реестре в разделе [so-
unds] и устанавливаются пользователем с помощью программы «Панель управле-
ния» щелчком на пиктограмме Звук.

Целый без знака параметр иТуре функции MessageBeep определяет воспроиз-
водимый звук. Для него предопределены следующие константы:

Значение	Звук
OxFFFFFFFF	Стандартный звук через динамик
MBICONASTERISK	Звездочка
MBICONEXCLAMATION	Восклицание
MB ICONHAND	Критическая ошибка
MBICONQUESTION	Вопрос
MBOK	Стандартный звук

При успешном завершении функция возвращает ненулевое значение (true).
Если функция вернула нулевое значение, то получить информацию об ошибке
можно с помощью вызова GetLastError (см. раздел 14.20).

После инициализации воспроизведения звука функция MessageBeep возвра-
щает управление в точку вызова и воспроизведение звука производится асинхрон-
но.

Если функция MessageBeep не нашла указанный тип звука, она пытается вос-
произвести стандартный звук. Если и он не установлен или если компьютер не
снабжен звуковой картой, то звук воспроизводится через динамик компьютера.