devxlogo

Check whether a serial or parallel port is available

Check whether a serial or parallel port is available

The Open statement also supports special device names such as COM1 or LPT2. You can build on this feature and use the Open command to test whether a given serial or parallel port is available. Here are two functions that perform this task:

' Check whether a given COM serial port is availableFunction IsComPortAvailable(ByVal portNum As Integer) As Boolean    Dim fnum As Integer    On Error Resume Next    fnum = FreeFile    Open "COM" & CStr(portNum) For Binary Shared As #fnum    If Err = 0 Then        Close #fnum        IsComPortAvailable = True    End IfEnd Function' Check whether a given LPT parallel port is availableFunction IsLptPortAvailable(ByVal portNum As Integer) As Boolean    Dim fnum As Integer    On Error Resume Next    fnum = FreeFile    Open "LPT" & CStr(portNum) For Binary Shared As #fnum    If Err = 0 Then        Close #fnum        IsLptPortAvailable = True    End IfEnd Function

You can use the above function also for determining how many serial or parallel ports are installed, using a loop:

Dim count As Integer, i As IntegerFor i = 1 To 16    If IsComPortAvailable(i) Then count = count + 1NextMsgBox "Found " & count & " serial ports"

devx-admin

Share the Post: