cass74
Messages postés12Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 7 décembre 2002
-
15 avril 2002 à 21:26
luko007
Messages postés31Date d'inscriptionmercredi 20 novembre 2002StatutMembreDerniè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.
Progmeister
Messages postés82Date d'inscriptionsamedi 23 février 2002StatutMembreDernière intervention28 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
cass74
Messages postés12Date d'inscriptionvendredi 25 janvier 2002StatutMembreDerniè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 )
Progmeister
Messages postés82Date d'inscriptionsamedi 23 février 2002StatutMembreDernière intervention28 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
cass74
Messages postés12Date d'inscriptionvendredi 25 janvier 2002StatutMembreDerniè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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cass74
Messages postés12Date d'inscriptionvendredi 25 janvier 2002StatutMembreDerniè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 ?
cs_JeriKo
Messages postés17Date d'inscriptionmardi 23 avril 2002StatutMembreDernière intervention21 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, ....).
cass74
Messages postés12Date d'inscriptionvendredi 25 janvier 2002StatutMembreDerniè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?