Rechercher un texte dans une fenêtre externe

Résolu
trainkill Messages postés 29 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 24 juillet 2007 - 13 avril 2006 à 11:34
trainkill Messages postés 29 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 24 juillet 2007 - 19 avril 2006 à 10:52
Bonjour,

J'ai une application écrite en vb.net qui éxecute un programme externe.
J'aimerais pouvoir rechercher des chaînes de caractères dans la fenêtre de ce programme, et récuperer leur handle ainsi que ceux d'inputbox, qui correspondent à des champs de loggin.

Je sais qu'on peut faire ça avec les api, nottamment la fonction sendmessage, mais je ne sais pas comment m'en servir.

Merci à celui ou celle qui eclairera ma lenterne ;)

3 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 avril 2006 à 12:04
Excuse, j'ai oublié le lien :


http://www.vbfrance.com/infomsg/TRANSMISSION-MESSAGE-0_708850.aspx

@+

Mortalino
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 avril 2006 à 12:03
Salut !

Essaie de voir sur ce message posté il y a quelque temps, cela t'aiguillera peut-être...

@ ++

Mortalino
0
trainkill Messages postés 29 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 24 juillet 2007
19 avril 2006 à 10:52
En fait pour envoyer mes infos de login maintenant j'utilise la fonction vbnet sendkeys.send(). Mais voilà un nouveau problème :

Lors de l'envoi du login puis du mot de passe, le premier caractère est envoyé puis le programme se bloque, ainsi que la souris et le clavier qui deviennent figés. Plus aucun moyen de contrôler le pc, ce qui est un peu embettant ! heureusement le ctrl+alt+del répond toujours...

Sinon j'ai extrait la partie de code incriminée et j'en ai fait un autre petit programme pour tester et voire où était le problème. Et là ça a marché niquel !? Je ne sais vraiment pas d'où peux venir le problème, une histoire de mémoire ou de buffer ??

sinon le bout de code donne ça :


Dim hwnd
As
Integer = WinActivate("appli externe") ' fonction qui attend en fait que la fenêtre de l'appli externe se lance et retourne son handel



If hwnd <> 0
Then


SetForegroundWindow(hwnd)


SendKeys.Send(UserLogin & "{TAB}" & UserPassword & "{ENTER}")



Else


MsgBox("blabla")



End
If
0
Rejoignez-nous