none
Savoir si une application est ouverte en VB 2008. RRS feed

  • Question

  • Salut !

    Je souhaiterais savoir si par exemple Windows Media Player est ouvert. J'ai tenté des trucs mais le résultat est négatifs. :(

    Par exemple (J'ai mis "NotePad" mais c'est pareil) :

        Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As IntPtr
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim Response As Integer
            Response = GetModuleHandle("notepad")
            If Response = 0 Then
                MsgBox("Application is not running")
            Else
                MsgBox("Application is running")
            End If
            Call ControleSiOutlookOuvert()
        End Sub

    Ou encore :

        Sub ControleSiExeOuvert()
            Dim Appli As Object
    
            On Error Resume Next
            Appli = GetObject("c:\windows\notepad.exe")
    
            If Appli Is Nothing Then
                MsgBox("Fermé")
            Else
                MsgBox("Ouvert")
            End If
        End Sub

    Mais c'est pareil. :( Merci pour votre aide.


    • Modifié Michel56100 samedi 30 novembre 2013 12:56 Faute
    samedi 30 novembre 2013 12:55

Réponses

  • Bonjour, en utilisant Framework au lieu d'une API tu peux lister les processus ouverts :

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            For Each p As Process In Process.GetProcesses
                If p.ProcessName = "wmplayer" Then MsgBox("Windows media player est ouvert !")
            Next
        End Sub



    • Modifié Guyome41 samedi 30 novembre 2013 14:00
    • Marqué comme réponse Michel56100 dimanche 1 décembre 2013 00:49
    samedi 30 novembre 2013 13:59

Toutes les réponses

  • Bonjour, en utilisant Framework au lieu d'une API tu peux lister les processus ouverts :

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            For Each p As Process In Process.GetProcesses
                If p.ProcessName = "wmplayer" Then MsgBox("Windows media player est ouvert !")
            Next
        End Sub



    • Modifié Guyome41 samedi 30 novembre 2013 14:00
    • Marqué comme réponse Michel56100 dimanche 1 décembre 2013 00:49
    samedi 30 novembre 2013 13:59
  • Salut !

    Mais c'est génial ! Merci énormément !

    dimanche 1 décembre 2013 00:49