0
我想知道是否有可能检测到已命名外部应用程序的窗口何时启动以及如何启动。检测外部应用程序的启动
例如: 当运行firefox或notepad(最好通过进程名称,例如notepad.exe)时,最小化我的应用程序。
我想知道是否有可能检测到已命名外部应用程序的窗口何时启动以及如何启动。检测外部应用程序的启动
例如: 当运行firefox或notepad(最好通过进程名称,例如notepad.exe)时,最小化我的应用程序。
For each p as process in process.GetProcesses()
If p.processname = "notepad" then
'Do something
Else
'Do Else Something
End If
Next
这里有两个办法,将工作:
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
注:第二种方式是第一的只是一个荣耀的版本...
好那么它会为列表中的每个进程都做'别的'事情,而不是'记事本'... – MrPaulch
如果你离开'Do Else Something注释掉了,不行。 –
是的,对,但是你可以改变它:'什么都不做 //同样,如果有几个记事本程序运行'做某事的部分将被多次运行......当然,你可以离开那个注释掉了:) – MrPaulch