...determine if a Comm Port is available?
|
Autor:
Jorge A. Canevaro |
[ Print tip
] | | |
{
This tip uses the API of Windows to determine
if a this available certain COM.
Port: COM1, COM2, COM3...
}
function ComPortAvailable(Port: PChar): Boolean;
var
DeviceName: array[0..80] of Char;
ComFile: THandle;
begin
StrPCopy(DeviceName, Port);
ComFile := CreateFile(DeviceName, GENERIC_READ or GENERIC_WRITE, 0, nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
Result := ComFile <> INVALID_HANDLE_VALUE;
CloseHandle(ComFile);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if ComPortAvailable('COM1:') then
ShowMessage('Port available')
else
ShowMessage('Port not available');
end;
|