2013-12-08 40 views
0

我想知道是否有可能检测到已命名外部应用程序的窗口何时启动以及如何启动。检测外部应用程序的启动

例如: 当运行firefox或notepad(最好通过进程名称,例如notepad.exe)时,最小化我的应用程序。

回答

1
For each p as process in process.GetProcesses() 
If p.processname = "notepad" then 
'Do something 
Else 
'Do Else Something 
End If 
Next 
+0

好那么它会为列表中的每个进程都做'别的'事情,而不是'记事本'... – MrPaulch

+1

如果你离开'Do Else Something注释掉了,不行。 –

+0

是的,对,但是你可以改变它:'什么都不做 //同样,如果有几个记事本程序运行'做某事的部分将被多次运行......当然,你可以离开那个注释掉了:) – MrPaulch

1

这里有两个办法,将工作:

Dim plist() As Process = Process.GetProcessesByName("notepad") 
If plist.Length > 0 Then 
     ' notepad is running at least once 
Else 
     ' notepad is not running 
End If 

Dim notepadRunning As Boolean = False 
    For Each p As Process In Process.GetProcesses 
     If p.ProcessName = "notepad" Then notepadRunning = True 
    Next 
    If notepadRunning Then 
     ' notepad is running at least once 
    Else 
     'notepad is not running 
    End If 

注:第二种方式是第一的只是一个荣耀的版本...

相关问题