Передача AT-команд модему на примере поднятия модемом трубки
Автор: Владимир
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com **** >> Передача AT-команд модему на примере поднятия модемом трубки Данная процедура показывает как передавать AT команды модему. Передача команд осуществляется через файл . В данном примере передается команда 'ATH1' поднять трубку (можно послушать разговор на линии ) Переменная hCommFile объявляется на уровне модуля. Ограничением к применению является активные программы держущие порт модема открытым (факс,некоторые терминальные программы ) Зависимости: Messages, SysUtils Автор: Владимир, [email protected] Copyright: Компакт диск неизвестного происхождения Дата: 8 июня 2002 г. ***************************************************** } procedure upmodem; var PhoneCommand: string; CommPort: string; NumberWritten: cardinal; begin PhoneCommand := 'ath1' + #13 + #10; //Поднять трубку CommPort := 'COM1'; //-------------------Открыть порт как файл} hCommFile := CreateFile(PChar(CommPort), GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if hCommFile = INVALID_HANDLE_VALUE then begin ShowMessage('Unable to open ' + CommPort); exit; end; //-------------Выполнить команду по средству записи в файл NumberWritten := 0; if WriteFile(hCommFile, PChar(PhoneCommand)^, Length(PhoneCommand), NumberWritten, nil) = false then begin ShowMessage('Unable to write to ' + CommPort); end; end;
Пример использования:
procedure TForm1.Button1Click(Sender: TObject); begin upmodem; end; procedure TForm1.Button2Click(Sender: TObject); begin CloseHandle(hCommFile); //закрыть файл end;
Далее: Получить список установленных модемов в Win95-98 »»