Com-Port Suchen ??
-
HAllo
für ein Programm will ich die besetzten Com-Pors meines Rechners in eine Combobox ausgeben wie z.b. beim Hyperterminal (dort werden auch nur die besetzten ports ausgegeben ) wie realisiere ich das ?danke für die Hilfe schon mal im voraus!!
-
Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du meinst wohl nicht die "besetzten", sondern die vorhandenen... Wenn Du die besetzten willst musst Du nur versuchen sie zu öffnen; geht dies schief, so ist er besetzt...
Falls Du die vorhandenen meinst, dann schau das folgende an:
http://www.naughter.com/enumser.html
http://www.codeproject.com/system/listports.asp
http://codeproject.com/system/setupdi.asp
-
Kennst du bestimmt wie gesagt von hypertrminal. Der zeigt ja auch an welcher vorhanden ist aber wecher schon aktiv ist wollte ich nicht wissen
-
//------------------------------------------------------------------------- // Zählt die freien (ungeöffneten) COM-Ports und schreibt sie in ein // globales Array: // bool port[MAX_COM] = {false}; // Zuordnung: // port[0] = false bedeutet COM-Port 1 ist nicht verfügbar // port[1] = true bedeutet COM-Port 2 ist verfügbar // port[2] = false bedeutet COM-Port 3 ist nicht verfügbar // ... //------------------------------------------------------------------------- void CountPorts (void) { char comport[11] = "\\\\.\\COM"; for (int i = 1; i <= MAX_COM; ++i) { itoa (i, comport + 7, 10); HANDLE com = CreateFile (comport, 0, 0, 0, OPEN_EXISTING, 0, 0); if (com != INVALID_HANDLE_VALUE) { CloseHandle (com); port[i - 1] = true; } else port[i - 1] = (GetLastError() != ERROR_FILE_NOT_FOUND); } return; }
Wird einmal nach dem Start aufgerufen.
Das Array wird (in meiner Anwendung) in eine Combobox ausgegeben und in das Menue eingetragen (da aber nur die vorhandenen Ports).Blackbird