Handle de l'edit box d'internet explorer

cass74 Messages postés 12 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 7 décembre 2002 - 15 avril 2002 à 21:26
luko007 Messages postés 31 Date d'inscription mercredi 20 novembre 2002 Statut Membre Dernière intervention 9 septembre 2003 - 12 déc. 2003 à 18:31
Comment est il possible de connaître le handle de l'edit box d'internet explorer ou d'un autre programme.
Est ce que ces handles peuvent être toujours les mêmes pour certains programmes.

Merci d'avance

10 réponses

Progmeister Messages postés 82 Date d'inscription samedi 23 février 2002 Statut Membre Dernière intervention 28 mars 2005
18 avril 2002 à 20:31
Les handles sont attribués au moment du lancement d'un prog et dépendent du nombre de progs ouvert et de plein d'autres parametres bref c jamais les memes

Pour truver un handle device context, le plus facile est de rechercher le hwnd avec les api en connaissant le nom affiché dans la barre de titre
Une fois obtenu, on obtient son contexte de peripherique en utilisant l'API GetWindowDc

Voila

Progmeister :)
0
cass74 Messages postés 12 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 7 décembre 2002
21 avril 2002 à 10:25
Merci pour les éclaircissement.
J'ai déjà vu les codes permettant de récupérer les handles comme tu le dis.

Est ce que cette démarche est la bonne pour pouvoir écrire dans une boîte de dialogue d'un autre programme?
Quelle Api utiliser pour écrire dans cette boite si l'on connait son handle? ( Textout )
0
Progmeister Messages postés 82 Date d'inscription samedi 23 février 2002 Statut Membre Dernière intervention 28 mars 2005
22 avril 2002 à 19:49
Si tu veut ecrire dans une msgbox lancée par une autre appli, l'API MessageBox suffit, elle te demande de lui passer en parametre le hwnd de la fenetre sur laquelle le msgbox apparait

Progmeister :)
0
cass74 Messages postés 12 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 7 décembre 2002
22 avril 2002 à 21:50
J'abuse encore un peu de tes connaissances!!!

Si il ne s'agit pas d'une messagebox ( je ne connais pas le terme exact )mais d'une sorte de textbox comme ceux de vb.
Est ce qu'il est possible d'écrire à l'intérieur dans une autre appli depuis une appli vb et d'envoyer la réponse avec une fonction du genre "sendkey"?
J'ai remarqué que les textbox de vb possédait un handle propre.
Merci d'avance pour les renseignements
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JeriKo Messages postés 17 Date d'inscription mardi 23 avril 2002 Statut Membre Dernière intervention 21 juillet 2003
23 avril 2002 à 02:43
Pour écrire dans une textbox, pour changer le nom d'une fenêtre, changer le nom d'un boutton, .... il faut que tu utilise l'api SetWindowText.

Voilà, en espérant que ça va t'aider :)
0
cass74 Messages postés 12 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 7 décembre 2002
23 avril 2002 à 16:52
Merci pour tout, j'ai essayé set et getwindowstext, cela fonctionne lorsque je connais le handle de la fenêtre, d'un bouton, d'un textbox.

Mais, comment est il possible de déterminer le handle de ces objets dans une application ou une fenêtre qui n'est pas une appli vb ou dont nous n'avons pas le source ?

Merci
0
cs_JeriKo Messages postés 17 Date d'inscription mardi 23 avril 2002 Statut Membre Dernière intervention 21 juillet 2003
23 avril 2002 à 19:50
Il y a une methode assez simple mais je sais pas si ça va te convenir.

voilà le bout de code :

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long

Dim position As POINTAPI

Private Sub Form_Load()
Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
Call GetCursorPos(position)
Label1 = WindowFromPoint(position.x, position.y)
End Sub

Ce code te permet de recuperer le handle de l'objet sur lequel pointe le curseur de la souris.

Il te faut un Label et un Timer.

Sinon si tu ne veux pas utiliser cette methode tu peux tjs utiliser les api GetWindow (pour avoir le handle d'une fenêtre) et ensuite une fois que tu as le handle de IE en faisant des test avec GetWindowText, tu peux utiliser EnumChildWindows qui te permettra de trouver les handles de ts les objets de la fenêtre (donc les boutons, TextBox, ....).

Voila. :)
0
cass74 Messages postés 12 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 7 décembre 2002
24 avril 2002 à 11:39
Je vais tenter l'un et l'autre.

Merci Beaucoup
0
cass74 Messages postés 12 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 7 décembre 2002
27 avril 2002 à 22:56
salut,
j'ai essayé ce que proposais, les deux codes pour récupérer les handles fonctionnent et c'est exactement cela que je cherchais.

Mais lorsque j'essaye d'écrire quelque chose dans un textebox avec son handle en paramètre de l'api setwindowtext, cela ne fonctionne pas,il ne se passe rien.

Est ce qu'il est en fait possible de procéder de la sorte pour écrire dans une autre appli? Quelle est le problème?

Merci d'avance
0
luko007 Messages postés 31 Date d'inscription mercredi 20 novembre 2002 Statut Membre Dernière intervention 9 septembre 2003
12 déc. 2003 à 18:31
yonosépakoidilemoa
0
Rejoignez-nous