Module pour trouver les hwnd des fenetres

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 214 fois - Téléchargée 53 fois

Contenu du snippet

C'est un module assez simple. il suffit d'entrer une partie du nom de la fenetre et vous avez son Handle.

Source / Exemple :


'PREMIER MODULE:
Dim o(2000)

Public Function GethWndFromTitle(ByVal Word As String, ByVal place As Long)

For j = 1 To 2000 'generalement les handle ne depassent pas 2000
 a = TitreFenetre(j)
 b = Len(a)
 echec = 0
 longueur = Len(Word)
 
 For i = 1 To b
  d = Mid(a, i, longueur)
  If d = Word Then aa = aa + 1:  o(aa) = j 'Recherche des titres disponibles et de leurs hWnd
  
 Next i
Next j
GethWndFromTitle = o(place)
End Function

'2eme module:
Public Declare Function GetWindowText& Lib "USER32" Alias "GetWindowTextA" _
(ByVal hwnd&, ByVal lpString As String, ByVal aint&)

Public Function TitreFenetre(ByVal hwnd As Long) As String
    Dim TitleText As String
    Dim TxtLength As Long
    TitleText = String(255, Chr(0))
    TxtLength = 255
    ret = GetWindowText(hwnd, TitleText, TxtLength)
    TitreFenetre = Mid(TitleText, 1, ret)
End Function

Conclusion :


C'est un truc simple et pratique. Faut pas chercher a faire trop complique

A voir également

Ajouter un commentaire Commentaires
noussaDardouri Messages postés 16 Date d'inscription jeudi 18 mars 2010 Statut Membre Dernière intervention 10 janvier 2011
5 janv. 2011 à 14:05
le Handle de le fenêtre dépasse 2000 par exemple :
Mozilla Firefox : 131636
Internet Explorer : 394550
..........................etc.
NeoToto Messages postés 11 Date d'inscription vendredi 29 novembre 2002 Statut Membre Dernière intervention 15 mai 2006
18 févr. 2004 à 14:14
Boah, c pas si nul que ca ! C'est peut etre pas tres joli, mais au moins ca permet de voir comment ca marche ! (notes que j'ai pas testé si ca marche :)
cs_Smile Messages postés 4 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 8 juin 2002
8 juin 2002 à 14:26
C'est quoi les Hwnd ?
Ca ser a quoi ce code ?
cs_Mercury Messages postés 329 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 octobre 2005
21 mai 2002 à 08:50
;-))
cs_Mercury Messages postés 329 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 octobre 2005
28 mars 2002 à 13:08
Entièrement d'accord avec toi ;-)

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.