用FindWindow这API吧If FindWindow(vbnullstring,form1.caption) >0 Then
MsgBox "一个窗体已经打开,请先关闭", , Me.Caption
End If

解决方案 »

  1.   

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Function FindWin(ByVal strName As String, Optional ByVal bClass As Boolean = False) As Long    '按类名或者窗体名查找窗体
            
        If bClass Then
            FindWin = FindWindow(strName, vbNullString)
        Else
            FindWin = FindWindow(vbNullString, strName)
        End IfEnd Function
      

  2.   

    For each frmtemp in Forms
       if frmtemp.name="你的窗体名字"
             MsgBox “已经存在!”
    next