Главная страница | назад





Article #16400: How can I dial out through the modem under Win32?

 Question and Answer Database
FAQ1400D.txt How can I dial out through the modem under Win32?
Category :Windows API
Platform :All
Product :All 32 bit
Question:
How can I dial out through the modem under Win32?
Answer:
You can use the Windows API function CreateFile() to get a handle
to the com port, and use standard file I/O to communicate with the
given port.
Example:
var
hCommFile : THandle;
procedure TForm1.Button1Click(Sender: TObject);
var
PhoneNumber : string;
CommPort : string;
NumberWritten : LongInt;
begin
PhoneNumber := 'ATDT 1-555-555-1212' + #13 + #10;
CommPort := 'COM2';
{Open the comm port}
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;
{Dial the phone}
NumberWritten:=0;
if WriteFile(hCommFile,
PChar(PhoneNumber)^,
Length(PhoneNumber),
NumberWritten,
nil) = false then begin
ShowMessage('Unable to write to ' + CommPort);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
{Close the port}
CloseHandle(hCommFile);
end;
7/16/98 4:31:28 PM

Last Modified: 01-SEP-99