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 ;-)
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
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