![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как работать с PC Speaker`om? [D6, Win95/98]
Tuman © (2002-11-04 03:59:00)сабж собственно
Anatoly Podgoretsky (2002-11-04 09:03:00) [1]Viktor Kushnir © (04.11.02 08:58) - Tuman (04.11.02 03:59)
Это устаревшая версия, сейчас в том ЧаВо опубликована, новая универсальная и с исправленной ошибкой.
Viktor Kushnir (2002-11-04 08:58:00) [2]А вот это когда-то пролетало в Ru.Delphi, только я это не испытовал.
procedure TForm1.mybeep(Tone: Word; Delay: Integer);
begin
asm
mov al, 0b6H
out 43H, al
mov ax,Tone
out 42h,al
ror ax,8
out 42h,al
in al, 61H
or al, 03H
out 61H, al
end;
sleep(Delay);
asm
in al, 61H
and al, 0fcH
out 61H, al
end;
end;
SottNick (2002-11-04 08:52:00) [3]включаем, выключаем
program PCSswitcher;
uses
windows, SysUtils;
var
bool:boolean;
s:string[5];
begin
s:=UpperCase(paramstr(1));
if s=""
then
begin
SyStemParametersInfo(SPI_GETBEEP,1,@bool,SPIF_UPDATEINIFILE);
if bool
then
begin
SyStemParametersInfo(SPI_SETBEEP,0,nil,SPIF_UPDATEINIFILE);
MessageBox(0,"PC Speaker - OFF","PC Speaker Switcher",MB_ok+mb_IconInformation);
end
else
begin
SyStemParametersInfo(SPI_SETBEEP,1,nil,SPIF_UPDATEINIFILE);
MessageBox(0,"PC Speaker - ON","PC Speaker Switcher",MB_ok+mb_IconInformation);
end;
end
else
if pos("OFF",s)<>0
then
SyStemParametersInfo(SPI_SETBEEP,0,nil,SPIF_UPDATEINIFILE)
else
if pos("ON",s)<>0
then
SyStemParametersInfo(SPI_SETBEEP,1,nil,SPIF_UPDATEINIFILE)
else
MessageBox(0,"Use command line keys:"+#13
+" /off - for Speaker OFF"+#13
+" /on - for Speaker ON"+#13
+" /? - for this HELP"
,"PC Speaker Switcher",MB_ok+mb_IconInformation);
end.
пиликаем
program PCSTest;
uses
windows;
var
i:byte;
begin
for i:=1 to 10 do
begin
MessageBeep($FFFFFFFF);
sleep(100);
end;
end.
остальным не интересовался
DC-AC (2002-11-04 07:48:00) [4]Через порт $0061 вроде бы... Примеры встречал, кстати, под какую ось нужно работать ?