In that case, don't worry about the USB cable being plugged in. Since your app is communicating over Serial ports only, no matter what the cable medium is, your app doesn't change if the cable changes. So why are you complicating your code over something your code doesn't care about in the first place? There is nothing that maps COM ports to what cable they're on, if they are simulated, or implemented on hardware other than actual Serial ports. The driver you installed for the cable puts up the illusion of a Serial port, then quietly sits behind it, translating between serial comm and USB. If the USB cable can be on any COM port, don't mess with USB. Just go through the COM ports and try to communicate with your target app on each one. If you get a response, you've found the port your need. If not, you'll have to rely on the user to tell you which port to use. RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome