'--------------------------------------------------------------------------
'函数: FindSpecialWindow
'说明: 查找指定的窗口是否存在
'入口:
' strWindowText--指定窗口的标题文字
'出口:
' 指定窗口的句柄
' 0--指定的窗口不存在
'--------------------------------------------------------------------------
Public Function FindSpecialWindow(ByVal strWindowText$) As Long
Dim lReturn&, lWinHwd&, lWinTextLength&
Dim strWinText$
FindSpecialWindow = 0
lWinHwd = FindWindowEx(0, 0, vbNullString, vbNullString)
Do While lWinHwd <> 0
lWinTextLength = GetWindowTextLength(lWinHwd)
strWinText = String(lWinTextLength + 1, " ")
lReturn = GetWindowText(lWinHwd, strWinText, lWinTextLength + 1)
If lReturn > 0 Then
If Left(strWinText, Len(strWindowText)) = strWindowText Then
FindSpecialWindow = lWinHwd
Exit Do
End If
End If
lWinHwd = FindWindowEx(0, lWinHwd, vbNullString, vbNullString)
Loop
End Function
'显示提示并将窗口置前
Private Function IsCellRunning(ByVal blnShowMsg As Boolean) As Boolean
Dim lngReturn As Long
IsCellRunning = False
lngReturn = FindSpecialWindow(mc_FeiTian)
If lngReturn Then
If blnShowMsg Then
Call ShowMsg(gc_LeftBracket & mc_FeiTian & gc_RightBracket _
& "正在运行,请先关闭!")
End If
Call BringWindowToTop(lngReturn) '置前
IsCellRunning = True
End If
End Function
Public Declare Function SetActiveWindow Lib "user32" Alias "SetActiveWindow" (ByVal hwnd As Long) As Long
这个函数需要事先知道窗口的句柄,可以用
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long