如何通过标题检查程序是否正在运行?(使用vb6)

far*_*oft 3 vb6 process

如何通过标题检查程序是否正在运行?(使用vb6)

示例:

'check if there is a program contain a "Notepad" in its title

if (does "Notepad" running now ?) then 

end if
Run Code Online (Sandbox Code Playgroud)

替代文字

Tom*_*lak 7

''# preparation (in a separate module)
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Function FindWindowHandle(Caption As String) As Long
  FindWindowHandle = FindWindow(vbNullString, Caption)
End Function

''# use (anywhere)
MsgBox FindWindowHandle("Untitled - Notepad")
Run Code Online (Sandbox Code Playgroud)

上面的代码基本上都取自这里.

必须知道确切的窗口标题.如果找到具有给定标题的窗口,则该函数将返回<> 0,否则返回0.

要查找标题包含某个字符串的窗口,您需要枚举所有窗口并自己查找正确的窗口.这个过程稍微复杂一些,但在此详细解释:everythingaccess.com - 将外部应用程序窗口置于前台.