Is Serial Port in Use

Hello,
I have an app that accesses the serial port. If another program is using the port my app crashes. Is there a way i could check if the port is in use (so i could alert the user and tell them to change the config settings in my app)
Thank you
axiaAsked:
Who is Participating?
 
jkrConnect With a Mentor Commented:
Just call 'CreateFile()' on the port - if it succeds, the port is available, if not, it isn't - that's what I used to create a list of available COM ports:

    //  create list of available comm ports

    char    acPort  [   5]  =   "COM1";

    for (   UCHAR   uc  =   0;  uc  <   8;  uc++)
        {
            HANDLE  hPort   =   INVALID_HANDLE_VALUE;

            acPort  [   3]  +=  uc;

            hPort   =   CreateFile  (   acPort,
                                        GENERIC_READ | GENERIC_WRITE,
                                        0,
                                        0,
                                        OPEN_EXISTING,
                                        0,
                                        0
                                    );

            if  (   INVALID_HANDLE_VALUE    !=  hPort)
                {
                   // port COMx is available
                    CloseHandle (   hPort);
                }
             else
                {
                   // port COMx is unavailable
                }

        }
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.