| Автор
| Сообщение |
|
|
|
Цитата |
|
Delphi 7.0 юзаю на win2k. Трабла в том, что команда Beep ни разу так и ни пискнула!
Люди! Помогите! Как заставить ее работать? А то словно и нет у меня системного динамика.
Хотя ДурВеб и мамуля юзают его без каких либо проблем.
Я тут подумал, мож он не подключен? И уже хотел ему SPI_SETBEEP засандалить!
А стал проверять, показывает, что включен. Хоть вешайся!
Вот код проверки:
| Код: | procedure TForm1.Button1Click(Sender: TObject);
var
PB: ^Boolean;
begin
SystemParametersInfo(SPI_GETBEEP, 0, PB, 0);
if PB^ then
begin
Label1.Caption := Label1.Caption + 'ON';
Beep; { все равно молчит }
{ Я так же скормил эти: }
//MessageBeep(0); // кажется то же, что Beep - молчит
//MessageBeep(0xFFFFFFFF); // по хэлпу, самое оно - молчит
//MessageBeep(MB_ICONASTERISK); // сист. звук - работает
//MessageBeep(MB_ICONEXCLAMATION); // сист. звук - работает
//MessageBeep(MB_ICONHAND); // сист. звук - работает
//MessageBeep(MB_ICONQUESTION); // сист. звук - работает
//MessageBeep(MB_OK); // сист. звук (кажется то же, что MessageBeep(0)) - молчит
end
else
Label1.Caption := Label1.Caption + 'OFF';
end; |
|
|
| В начало |
|
 |
|
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Дык и Beep, и MessageBeep вызывают по умолчанию системные звуки, причем через звукашку. Если звук на выбранное событие не установлен (Панель управления/Звуки), то и визжать он не будет _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 aka57
Я живу тут....

Возраст: 28
Знак зодиака: 
Зарегистрирован: 03.07.2003
Сообщения: 1287
|
|
|
Цитата |
|
BOOL Beep(
DWORD dwFreq, // sound frequency, in hertz
DWORD dwDuration // sound duration, in milliseconds
);
например:
windows.beep(50,1);
p.s. NT only в win98 аналогична beep |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
| Цитата: | BOOL Beep(
DWORD dwFreq, // sound frequency, in hertz
DWORD dwDuration // sound duration, in milliseconds
); |
Эта функция перенакрыта в Delphi. Ее надо вызывать как Windows.Beep _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Сорри, до конца не дочитал  _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
|
|
|
Цитата |
|
| DrPass писал(а): | | Дык и Beep, и MessageBeep вызывают по умолчанию системные звуки, причем через звукашку. Если звук на выбранное событие не установлен (Панель управления/Звуки), то и визжать он не будет |
Я конечно же обратил внимание, когда тискал константы. Тока какой системный звук отзывается на MB_OK я так и не нашел в "Панель управления/Звуки"! Шепни, если в курсе! Плз!
ЗЫ: А инфа где-то была, что Beep именно системный динамик юзает (равно как и MessageBeep(0))! Не с потолка же я взял! А в самой справке написано, что сист.динамик юзает - MessageBeep($FFFFFFFF)! |
|
| В начало |
|
 |
|
|
|
Цитата |
|
Действительно способ a3m - лекарство!
| a3m писал(а): | BOOL Beep(
DWORD dwFreq, // sound frequency, in hertz
DWORD dwDuration // sound duration, in milliseconds
);
например:
windows.beep(50,1);
p.s. NT only в win98 аналогична beep |
ВСЕМ СПАСИБО!
ЗЫ: Еще бы циферки подходящие накатили б! |
|
| В начало |
|
 |
|