Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
Delphi 2007 Enterprise
|
Re: COM ports im Griff bekommen
12. Jun 2007, 07:29
Zitat von WS1976:
Hallo Robert,
Sysinternals bringt uns keinen Schritt weiter. Wie willst du die Tools in deinem eigenen prog verwenden? Wir haben uns da schwindlig gesucht und nichts gefunden.
Ich meine ich habe irgendwo ein Stück Code mit dem man ( ohne try and error ) feststellen kann ob die com offen ist oder nicht.
Ich suche danach. Wenn ich fündig werde stell ich das hier ein.
Grüsse
Rainer
Naja das ist ganz einfach, zum Beispiel:
Delphi-Quellcode:
{
Result: Wenn benutzt wird dann True, sonst False.
}
function IsComOpen(wPort: Word): Boolean;
var
hCom: THandle;
const
lpszPort = ' \\.\COM%d\';
begin
Result := True;
hCom := CreateFile(PChar(Format(lpszPort, [wPort])), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
if (hCom <> INVALID_HANDLE_VALUE) then
begin
Result := not CloseHandle(hCom);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
if IsComOpen(1) then
ShowMessage(' Wird benutzt')
else
ShowMessage(' Geht scho!');
end;
|
|
Zitat
|