Private Sub Form_Load()
On Error GoTo errline '如果出错,进入错误处理程序
Dim i As Integer '定义可访问的串口总数
Dim Counter As Integer '用于记录经检查可以使用的串口号
Counter = 0 '计数器清零
For i = 1 To 16 '循环检查可能存在的16个串口
MSComm1.CommPort = i '依次打开每个串口
MSComm1.PortOpen = True '打开串口
If MSComm1.PortOpen = True Then '如果打开成功,说明该串口可用
MSComm1.PortOpen = False '检查完毕,关闭串口
Combo1.AddItem "COM" + CStr(i),Counter '将可用串口增加到组合框
Counter = Counter + 1 '计数器加1
End If
Next i
Combo1.ListIndex = 0 '将第一个可用串口设为默认值
Exit Sub
errline:
If Err.Number = 8005 Then '若有的串口已被其他程序打开,也应该将其加入组合框内
Combo1.AddItem "COM" + CStr(i),Counter '将可用串口增加到组合框内
Counter = Counter + 1 '计数器加1
End If
Resume Next '回到出错入口处,继续执行巡检串口程序
End Sub
程序中加入Mscomm控件,加入ComboBox控件