Detecter application ouverte (pour dessambleur quest forum)

Soyez le premier à donner votre avis sur cette source.

Vue 9 061 fois - Téléchargée 636 fois

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

Ajouter un commentaire

Commentaires

Messages postés
156
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
28 décembre 2010

Salut pcpunch,

Je sais que le code est vieu mais je me permet de m'être un lien que tu as posté sur le forum en reponse a une question qu'un autre internaute a poser a savoir le listage des applications deja ouverte et non pas seulement celle ouverte apres le lancement du programme de surveillance.

Aussi a tous ceux qui cherche je vous conseil de plutot utiliser la reponse qu'a fait pcpunch sur le forum suivant :
http://www.vbfrance.com/forum/sujet-DETECTION-OUVERTURE-FERMETURE-NOUVELLES-FENETRE_213569.aspx#9

Vous devriez comprendre le module et trouver votre bonheur, personnellement cela a bien orienté ma recherche.

Bonne chance pour les autres.
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010

Merci beaucoup, c'est exactement le code qu'il me fallait!! merci!
Messages postés
256
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
20 mars 2013
1
Bonjour pcpunch,

Presque 3 ans après ...

Est-ce qu'il est possible d'adapter ton code afin de récupérer toutes les appications ouvertes par l'utilisateur et pas uniquement celles ouvertes après l'éxécution de ce programme ??

Par avance merci

Olivier
Messages postés
64
Date d'inscription
vendredi 21 décembre 2001
Statut
Membre
Dernière intervention
16 janvier 2009

Salut à toi et encore merci pour ton aide.
Grace à toi j'ai pu terminer mon projet dans la nuit (fin vers 3 heures du mat ;-)
Tu dis que ce n'est pas grand chose mais ca m'a vraiment aidé. Je commencais à m'égarer vers de nombreuses fausses pirste ;-)

à +
et pour la peine, bien sûr 10/10 !

Le Desassembleur

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.