如何检测一个串口是否已经被占用?
用MSCOMM控件

解决方案 »

  1.   

    On Error Resume Next   MSComm1.CommPort = 1 '要打开的串口
       MSComm1.PortOpen = True
       '判断状态
       If MSComm1.PortOpen = True Then
          msgbox "串口1未被占用"        
          MSComm1.PortOpen = False
          Err.Clear
       ElseIf Err.Number = 8005 Then   '端口已打开
          msgbox "串口1已被占用"        
          MSComm1.PortOpen = False
          Err.Clear
       End If
      

  2.   

    If MSComm1.PortOpen = True Then
      

  3.   

    Private Function MsCommOpen(ComInfo As typComInfo) As String
        On Error GoTo OpenErr
        '指定使用的COM口
        MSComm1.CommPort = ComInfo.Port
        '波特,奇偶校验,数据位,停止位(例如:"9600,N,8,1")
        MSComm1.Settings = ComInfo.Baud & "," & ComInfo.CurBit & "," & ComInfo.DataBit & "," & ComInfo.StopBit
        '握手
        MSComm1.Handshaking = 0
        '打开端口
        MSComm1.PortOpen = True
        MsCommOpen = "ok"
        Exit Function
    OpenErr:
        MsCommOpen = Err.Description
    End Function
      

  4.   

    用串口查询控件这里下载
    http://www.refound.net/download/soft.asp?id=25