如题,电脑明明有两个串口,为什么只显示一个,如果直接打开第二个端口也没问题
Private Sub Form_Load()
Dim i, j As Integer
j = 0
For i = 1 To 10
  MSComm1.CommPort = i
  On Error Resume Next
  MSComm1.PortOpen = True  If Err.Number = 0 Then
    j = j + 1
    Combo1.AddItem i
  Else
    MSComm1.PortOpen = False
  End If
Next i
End Sub

解决方案 »

  1.   

    添加完显示后,你想更改MSCOMM1的端口号为下一个。我觉得不管出不出错打开一个串口后都应该关闭串口。你试试看吧MSComm1.PortOpen = False 移到IF语句外面看看。
      

  2.   

    同意楼上
    Private Sub Form_Load()
        Dim i, j As Integer
        j = 0
        For i = 1 To 10
            MSComm1.CommPort = i
            On Error Resume Next
            MSComm1.PortOpen = True
            If Err.Number = 0 Then
                j = j + 1
                Combo1.AddItem i
            End If
            MSComm1.PortOpen = False
        Next i
    End Sub
      

  3.   

    有些台式机的主板有2个COM口,一个在主机的背面的RS232口。另一个是主板上的备用COM口,未连接到主机背面。需要用连接线引出到主机背面方可使用。
      

  4.   

    Private Sub Form_Load()
        Dim i, j As Integer
        j = 0
        For i = 1 To 4
            MSComm1.CommPort = i
            On Error Resume Next
            MSComm1.PortOpen = True
            If Err.Number = 0 Then
                j = j + 1
                Combo1.AddItem i
                MSComm1.PortOpen = False
            End If
        Next i
    End Sub