Как узнать состояние модема в Win32?
Материал из DRKB
Как узнать состояние модема в Win32?[править | править код]
Следующий пример демонстрирует получение состояния управляющих регистров модема.
Пример:
procedure TForm1.Button1Click(Sender: TObject);
var
CommPort: string;
hCommFile: THandle;
ModemStat: DWord;
begin
CommPort := 'COM2';
{ Открываем com-порт }
hCommFile := CreateFile(PChar(CommPort),
GENERIC_READ,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if hCommFile = INVALID_HANDLE_VALUE then
begin
ShowMessage('Unable to open '+ CommPort);
exit;
end;
{ Получаем состояние модема }
if GetCommModemStatus(hCommFile, ModemStat) <> false then
begin
if ModemStat and MS_CTS_ON <> 0 then
ShowMessage('The CTS (clear-to-send) is on.');
if ModemStat and MS_DSR_ON <> 0 then
ShowMessage('The DSR (data-set-ready) is on.');
if ModemStat and MS_RING_ON <> 0then
ShowMessage('The ring indicator is on.');
if ModemStat and MS_RLSD_ON <> 0 then
ShowMessage('The RLSD (receive-line-signal-detect) is on.');
end;
{ Закрываем com-порт }
CloseHandle(hCommFile);
end;
Source: Взято из http://forum.sources.ru
ID: 01462