程序非法关闭后,再次打开COM口时总是提示“端口已经打开”,有什么办法通过程序强行关闭。

解决方案 »

  1.   

    if com1.enabled=true then
    com1.enabled=fasle
      

  2.   

    if mscomm1.portopen=true then mscomm1.portopen=fasle.. . ^^
      

  3.   

    异常退出时
    if Mscomm1.Portopen=true then mscomm1.portopen=false 
      

  4.   


    Private Sub Form_Load()
        On Error GoTo userr
        MSComm1.PortOpen = True
        'Print MSComm1.PortOpen
        Exit Sub
    userr:
        If MSComm1.PortOpen = True Then
            MSComm1.PortOpen = False
        End If
        'Print MSComm1.PortOpen
        Resume
    End Sub
      

  5.   

    上面说的这些我是知道的.也加在程序前面了,不过我说的情况是当程序不正常关闭后才会出的情况.
    判断端口是否打开时,Mscomm1.Portopen等于FLASE,
    但运行到后面打开端口的时候还是提示"端口已经打开"
      

  6.   

    用下列代码可判断可用,出错或占用Com号:
    Option Explicit
        Dim a As Integer
    Private Sub Command1_Click()
        On Error GoTo uerror
        For a = 1 To 16
            MSComm1.CommPort = a
            MSComm1.PortOpen = True
            If MSComm1.PortOpen = True Then
                Print "可用Com号= "; a
                MSComm1.PortOpen = False
            Else
            End If
        Next
        Exit Sub
    uerror:
        Print "出错或占用Com号= "; a
        Resume Next
    End Sub