Toon posts:

[delphi] testen op gebruik COM-poort

Pagina: 1
Acties:

Verwijderd

Topicstarter
In een Delphi applicatie maak ik gebruik van een COMpoort. Hiervoor heb ik een component van het internet geplukt. Maar hoe kan ik testen of een andere applicatie gebruik maakt van de compoort die ik wil gaan gebruiken.

Er zijn nl. geen properties oid. die hier iets van merken ofsow.

Verwijderd

Portmon (te downloaden bij http://www.sysinternals.com/) laat zien welke applicaties er op dat moment gebruik maken van seriele en parallelle poorten.

Verwijderd

Via de Windows call CreateFile is daar vrij gemakkelijk achter te komen.
Voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function IsPortAvailable(APort: string): boolean;
var
  h: integer;
begin
  Result := False;
  h := CreateFile(APort, // 'COM1:', 'COM2:', etc.
            GENERIC_READ or GENERIC_WRITE,
            0, // do not share
            nil, // default security attributes
            OPEN_ALWAYS,
            FILE_ATTRIBUTE_NORMAL,
            nil);
  if h <> INVALID_HANDLE_VALUE then begin
    Result := True;
    CloseHandle(h);
  end;
end;