Acceder à un processus et écrire une ligne à l'interieur
cs_patos
Messages postés3Date d'inscriptionmercredi 11 septembre 2002StatutMembreDernière intervention 1 août 2006
-
31 juil. 2006 à 12:32
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 2011
-
1 août 2006 à 16:33
Bonjour,
Sous VB6 en environnement W2000, je voudrais faire un code qui puisse simplement récupérer le processus d'un Notepad.exe qui est déjà ouvert, et y écrire un texte fixe via un programme VB.
condition initiale : notepad.exe est ouvert sur le systeme
But du code VB6 :
_accéder à ce 'notepad.exe'
_ écrire un texte fixe dans ce 'notepad.exe' et faire un saut de ligne
Merci d'avance
Patos
A voir également:
Acceder à un processus et écrire une ligne à l'interieur
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 20112 31 juil. 2006 à 13:41
Humm je crois comprendre ce que tu veux ...
Trouve le handle de la fenetre du notepad avec un FindWindow.
Ensuite trouve celui de la zone de texte en spécifiant son ID (cherche dans Spy++ pour trouver l'ID).
Et puis envoie lui un message pour ecrire le texte.
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 20112 1 août 2006 à 09:33
Ben le bloc note n'est pas une appli trop compliquée ... Tu peux parcourir toutes ses fenetres enfant
(EnumChildWindows)
et trouver la fenetre dont la classe est "edit" (GetClassName).
Sinon je ne voulais pas dire qu'il fallait que tu passes par Spy++ DANS ton code !
Tu lances Spy++, et tu cherche la fenetre du bloc note. Ensuite, tu trouves la fenetre de la zone de texte -> Bingo, tu as son ID
Tu peux alors dans ton code choper directement la zone de texte avec GetDlgItem !
cs_patos
Messages postés3Date d'inscriptionmercredi 11 septembre 2002StatutMembreDernière intervention 1 août 2006 1 août 2006 à 15:37
Grace à la fonction EnumChildWindows, je trouve la fenetre dont la classe est 'Edit'. C'est un premier pas, merci :-)
A partir de la comment procéder ?
L' Identifiant à utiliser est-il celui en 1er paramètre de la fonction EnumChildProc?
Comment écrire dans la fenetre ? (fonction + paramètre)
PS : j'ai pas réussi à exploiter GetDlgItem, comment ca marche ?
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 20112 1 août 2006 à 16:33
Pour ecrire dans la fenetre, utilise la fonction SendMessage avec le message WM_SETTEXT (plus d'infos dans MSDN ).
Par contre, fait gaffe a pas ecraser le text deja présent (WM_GETTEXT ???)
Une autre solution serait de mettre ton texte dans le presse papier et de le coller (WM_PASTE), mais ça depend de la position du curseur ...