【问题标题】:Detect launch of an external application [duplicate]检测外部应用程序的启动[重复]
【发布时间】:2013-12-25 20:46:15
【问题描述】:

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

示例: 运行 firefox 或 notepad(最好是进程名。不是 notepad.exe)时,最小化我的应用程序。

【问题讨论】:

    标签: vb.net vba process window detect


    【解决方案1】:
    For each p as process in process.GetProcesses()
    If p.processname = "notepad" then
    'Do something
    Else
    'Do Else Something
    End If
    Next
    

    【讨论】:

    • 好吧,这将为列表中不是“记事本”的每个进程执行“其他操作”...
    • 如果您将“Do Else Something”注释掉,则不会。
    • 是的,是的,对...但是您可以将其联系起来:'什么都不做 // 此外,如果有多个记事本进程正在运行,则'做某事部分将运行多次...当然你也可以把那个注释掉:)
    • 那是我的粗心大意,好点,我可以编辑并在“做某事吗? ;)
    【解决方案2】:

    这里有两种可行的方法:

     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
    

    注意:第二种方式只是第一种方式的美化版本...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多