Detecter application ouverte (pour dessambleur quest forum)

Description

Dans le cadre de la question de Dessambleur
http://www.vbfrance.com/forum.v2.aspx?ID=213569

Utilisation des apis :
EnumWindowsProc
GetWindowTextLength
EnumWindows
IsWindowVisible

Voici une petite source qui liste les App ouverte depuis le lancement du code!!
la liste se met a jour toutes les secondes en comparent la liste recupérer a l'ouverture du soft!!!!

il faut listbox et un timer (interval 1000ms)

C'est pas bien compliquer, mais ca peu servir!! et c'est facilement modifiable!!

Source / Exemple :


'Dans un module

Dim temp As String
Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean
    Dim sSave As String, Ret As Long
    Ret = GetWindowTextLength(hwnd)
    sSave = Space(Ret)
    GetWindowText hwnd, sSave, Ret + 1
    If sSave <> vbNullString And IsWindowVisible(hwnd) Then temp = temp & sSave & vbCrLf
    'continue enumeration
    EnumWindowsProc = True
End Function
Public Function App_Ouverte()
temp = ""
EnumWindows AddressOf EnumWindowsProc, ByVal 0&
App_Ouverte = temp
End Function

'Dans la form
Dim ouverte() As String
Private Sub Form_Load()
ouverte = Split(App_Ouverte, vbCrLf)
End Sub

Private Sub Timer1_Timer()
'mise a jour de list1 selon la liste de depart des appli ouverte
List1.Clear
Dim temp() As String
Erase temp
temp = Split(App_Ouverte, vbCrLf)
Dim Existe As Boolean
Existe = False
    For i = 0 To UBound(temp)
   
        For a = 0 To UBound(ouverte)
            
            If temp(i) = ouverte(a) Then Existe = True: Exit For
        Next a
    If Not Existe And temp(i) <> Me.Caption Then List1.AddItem temp(i)
    Existe = False
    Next i

End Sub

Conclusion :


Ps: ce code n'est pas vraiment utile, mais si qq cherche ce genre de chose pour son code!!!! Voila ++

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.