Help Comment connaitre handle d'une application

guiguibon Messages postés 2 Date d'inscription mercredi 7 mars 2001 Statut Membre Dernière intervention 16 novembre 2003 - 23 nov. 2002 à 03:29
bobjay Messages postés 66 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 1 avril 2007 - 5 janv. 2006 à 22:31
g essaye getfocus, getactivewindow
et j'y arrive pas merci de m'aider
je veux trouver le handle d'une application que j'ai lancé a partir de vb av shell

2 réponses

lscherer Messages postés 19 Date d'inscription jeudi 21 mars 2002 Statut Membre Dernière intervention 3 novembre 2008
26 nov. 2002 à 13:46
Si tu connais le nom de ton application , c'est tout simple :

Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long

Private Sub Command1_Click()
Dim hWnd As Long
Dim Titre_Fenetre As String * 255
Dim TitreFen As String
Dim j As Long
List.Clear ' On vide la listbox
hWnd = GetWindow(GetDesktopWindow(), 5)
Do While (Not IsNull(hWnd)) And (hWnd <> 0) 'Passe en revue chaque fenêtre
Titre_Fenetre = String(255, 0) 'Formate la chaine destinée à accueillir le titre de la fenêtre

ret = GetWindowText(hWnd, Titre_Fenetre, 255) 'récupère le titre de la fenêtre et le nombre de caractères de ce titre
If Titre_Fenetre <> String(255, 0) Then 'Si le titre n'est pas vide
If IsWindowVisible(hWnd) = 1 Then 'Pour ne tenir compte que des fenêtres visibles (regardez ce que ça donne en retirant cette condition)
TitreFen = Titre_Fenetre 'récupère le titre de la fenêtre
TitreFen = Left(TitreFen, ret) 'sans les caractères supplémentaires finaux
j = j + 1
If Val(j) < 10 Then j = "0" & j
List.AddItem TitreFen & " [ " & hWnd & " ]" 'stocke le tout dans une listbox
End If
End If
hWnd = GetWindow(hWnd, 2) 'cherche la fenêtre suivant
Loop

End Sub

C'est quelques part dans les codes sources, mais je vais t'éviter la peine de chercher.

Lolo57
0
bobjay Messages postés 66 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 1 avril 2007
5 janv. 2006 à 22:31
Et si on a que le nom de l'exécutable et qu'on a pas le nom de la fenetre ?
0
Rejoignez-nous