在计算机上查找正在运行的后台进程

时间:2015-04-10 15:16:39

标签: vb.net winforms

我有一个程序我想监视是否有人打开它。事实证明程序在后台运行,如“wowexec.exe”。因此,进程在“explorer.exe”下缩进。我尝试了两件事来确定这个程序是否开放。

我的第一个是

 Dim p() As Process = Process.GetProcessesByName("Process")
 Dim retValue As Boolean = p.Length > 0

 MsgBox(retValue & vbCrLf & "Process")

这适用于在计算机上查找进程,它将识别“explorer.exe”以及其他任何正在运行的程序,但无法识别backgorund中运行的某些内容,如“wowexec.exe”。

我对此的第二次尝试(可能没有正确写入)是

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    Dim lngFindIt As Long
    lngFindIt = FindWindow(vbNullString, "WindowName")
    If lngFindIt = 0 Then
        MsgBox("Does not Exist")
    Else
        MsgBox("Exists!")
    End If
End Sub

出于某种原因,这总是会返回“Exists!”无论我为Window名称添加什么。我可以输入一堆字母或留空,然后返回“Exists!”。

任何帮助都非常感谢。

0 个答案:

没有答案