COM-Ports auflisten

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von VB-Newbie.

    COM-Ports auflisten

    Hallo,

    der Thread ist zwar schon sehr sehr sehr alt, mein Problem allerdings baut hierauf auf.
    Mittlerweile haben die seriell USB Wandler ja irgendeinen ComPort, z.B. Com76.

    Ich möchte das mir nur die aktuellen COM Ports in einer Liste angezeigt werden, wo ich mir dann den entsprechenden einfach heraussuche.
    Ich weiß es soll über die Registry funktionieren, aber dazu fehlt mir leider das Wissen.

    In VB2010 und höher ist das ja sehr einfach abzufragen und da läuft es auch ohne probleme. Jetzt habe ich aber hier ein Uraltes serielles Programm
    welches ich um die Funktion erweitern muss.

    Könnte mir da jemand helfen? Danke schonmal.

    Aus com Schnittstelle prüfen ausgelagert. ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    @VB-Newbie Willkommen im Forum. :thumbup:
    Wenn Du Frau Google nach vb6 alle COM ports auflisten fragst, bekommst Du eine Reihe von Lösungen, von denen Du die VB.NET-Lösungen ignorieren kannst.
    Diese hier scheint praktikabel zu sein, leider kann ich Dir zu VB6 nix gescheites sagen.
    Von früher her weiß ich, dass die Liste der verfügbaren Ports auch iwo in der Registry eingetragen ist. Da ich bei mir keine COM-Ports dran habe, kann ich Dir das nicht verifizieren. Gugst Du hier:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports\
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vielen Dank @RodFromGermany, das hatte ich auch gefunden. Hier werden aber nur Port 1-16 abgefragt. USB-RS232 Wandler haben ja meist irgendwelche ComPorts (z.B. COM76).
    Die Registry abzufragen scheint mir die Sinnvollste Lösung zu sein, ich habe auch schon einen Tip hier aus dem Forum bekommen das die Funktion "GetPortNames"
    aus VB.NET genau das gleiche macht. Ich kann das aber programmiertechnisch nicht in VB6 umsetzen.
    Jedesmal den COM Port des Wandlers manuell auf einen anderen Port setzen (welcher vom Programm unterstützt / aufgelistet wird) ist nicht wirklich so toll.