Messages d'une appli externe

cs_Alanor Messages postés 9 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 25 avril 2005 - 18 avril 2005 à 12:59
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 18 avril 2005 à 16:23
Bonjour,

Voila mon probleme. J'arrive a lancer une application externe depuis mon programme et a la commander via des Sendkeys. Cette action fait apparaitre des messages de confirmation dans mon appli externe. J'arrive a recuperer le hWnd de mon message mais l'API GetWindowText ne peut pas recuperer les texte venant d'un autre application. Et j'ai besoin de pouvoir différentier les messages pour pouvoir choisir la bonne reponse.

Si quelqu'un a une solution cela me serait tres utile.

Merci de vote aide

4 réponses

cs_Alanor Messages postés 9 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 25 avril 2005
18 avril 2005 à 14:01
Finalement je crois que mon probleme vient du fait que je n'arrive pas a recuperer la valeur du GetWindowText.

Une parti du code utilise :


Dim hWndBuilder As Long
Dim txtBuilder As String
Dim ret As Long


hWndBuilder = FindWindow("TappBuilder", vbNullString)
Console.WriteLine(hWndBuilder)
ret = GetWindowText(hWndBuilder, txtBuilder, 30)
Console.WriteLine(txtBuilder)

hWndBuilder vaut 247135033848890704
txtBuilder reste vide en sortie


PS : je programme sous VB.NET
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 avril 2005 à 15:52
Le second param de GetWindowText doit être l'adresse d'un buffer qui aura AIU MOINS la taille passée en 3eme param. Je ne vois pas ici que tu aies élargi ta string à 30 octets avant l'appel API.

ciao...
BruNews, MVP VC++
0
cs_Alanor Messages postés 9 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 25 avril 2005
18 avril 2005 à 16:12
Merci pour ton aide BruNews, mais comment cree-t-on ce buffer ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 avril 2005 à 16:23
en vb il y a Space() par exemple, en .net aucune idée.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous