Avatar billede madsravnjensen Nybegynder
17. februar 2002 - 10:33 Der er 1 kommentar og
1 løsning

Detektering af antal comporte

Hej!

Jeg skal bruge en rutine der kan fortælle mig hvilke comporte der er tilgængelige i windows ikke kun i bios'en. Der findes jo nye serielkort der deler IRQ og som ikke detekteres af bios'en. Det er ikke nok kun at kunne detektere 2 comporte, jeg skal gerne kunne finde 1-18 comporte. Jo der er stadig nogen der bruger comporte ;-)
Avatar billede stoney Nybegynder
17. februar 2002 - 11:06 #1
Jeg ved godt det er en lidt fake løsning.
Anyway, here we go

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
  listbox1.Items.Add('COM1');
  if ComPortAvailable('COM2:') then
  listbox1.Items.Add('COM2');
  if ComPortAvailable('COM3:') then
  listbox1.Items.Add('COM3');
  // osv



end;

Stoney
Avatar billede madsravnjensen Nybegynder
17. februar 2002 - 12:08 #2
Hej Stoney!

Ja nu har jeg rodet rundt for at finde en løsning, og jeg tror faktisk ikke at din løsning er så fake. For så vidt jeg har fundet ud af så er det da vist den eneste måde, og som du jo nok kender overser man noglegange løsningen selvom den er lige foran en. Takker

Pointene er dine
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester