Comment utiliser SendInput ?

morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 - 25 juil. 2003 à 14:31
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 25 juil. 2003 à 16:38
voila donc je veu faire un programme qui envoie un texte dans la fenetre au premier plan.
par exemple je veu envoyer la ligne "hello world(avec un retour a la ligne)"
comment faire svp ?
A voir également:

15 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 juil. 2003 à 14:49
Salut,
SetWindowText(GetForegroundWindow(), "ICI LE TEXTE");
Envoie du texte dans la fenetre au 1er plan.

Mais bon, j'imagine que c'est pas ce que tu veux...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 juil. 2003 à 15:06
Pourquoi retour chariot ??? Ce n'est pas le retour chariot dans le texte qui l'enverra, il faut simuler une touche ENTER sur la fenetre mere.
SetWindowText ne fonctionne QUE a l'interieur de ton processus.
Pour interprocessus, comme deja dit, WM_SETTEXT avec le bon handle de fenetre (controle child de la fenetre parent).
Ensuite envoi du ENTER sur fenetre mere.
BruNews, ciao...
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 juil. 2003 à 15:24
Salut,
Je pensais que SetWindowText etait similaire a l'envois d'un message WM_SETTEXT car quand je "setwindowtext" une fenetre d'un autre processus le texte de cette fenetre est quand meme changé.
0
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
25 juil. 2003 à 15:43
j ai fait:

#include "windows.h"
#include <stdlib.h>

int main()
{
Sleep(6000);
SetWindowText(GetForegroundWindow(), "ICI LE TEXTE");

return 0;
}

mais aucun texte n est envoyé dans me fentre au premier plan
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 juil. 2003 à 15:44
La difference est au niveau vitesse de traitement, tu evites au systeme une recherche, il prend direct le handle dans sa table systeme.
BruNews, ciao...
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 juil. 2003 à 15:49
Salut,
Ben moi je fais exactement pareil et ca modifie le titre de la fenetre que je met au 1er plan.
0
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
25 juil. 2003 à 15:56
ah oui exact mais moi je veut pas faire ça, je veut par exemple envoyer une phrase dans une fentre de msn messenger pour faire un petit bot
0
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
25 juil. 2003 à 16:00
tu veu pas me faire un exemple pour envoyer dans la fenetre au premier plan "hello world" par exemple stp? merci
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 juil. 2003 à 16:06
Salut,
Ben il faut que tu recupere le handle du control de la fenetre msn (bonne chance) ou tu veut envoyer le texte, et ensuite tu lui envois un message WM_SETTEXT (BruNews déconseille l'utilisaton de SetWindowText pour ce genre de manip interprocessus).
0
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
25 juil. 2003 à 16:10
je ne veut pas specialement recuperer la fenetre msn, pour ça je clique dessus et c bon, je veu juste savoir comment envoyer la phrase
un exemple svp !!!!! :'(
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 juil. 2003 à 16:13
Tu veux bien comprendre que ta fenetre de 1er plan est surement composee de fenetres filles et c'est bien dans une de celles-ci que tu dois ecrire. Donc en 1er determiner avec exactitude le handle de cette fenetre, une fois que tu l'as:
SendMessage(hfille, WM_SETTEXT, 0, "MON TEXTE");
Comment determiner hfille ?
Ausculte la fenetre principale avec SPY++, il te donnera le ctrlID de la sous fenetre qui vaudra alors:
hfille = GetDlgItem(hparent, ctrlID);
si sort NULL alors proceder a une enumeration de fenetre partant de la fenetre mere, stopper enum quand tu as trouve le bon ctrlID.
Semble long mais simple, au boulot.
BruNews, ciao...
0
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
25 juil. 2003 à 16:19
oui mais si je clique sur la fenetre concernée j ai pas besoin de lui dire de selectionner une fenetre
c pas compliqué à comprendre : comme la commande sendkey en VB :'(
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 juil. 2003 à 16:29
Je sais que je suis un peu dur de la comprenette seulement je n'ai pas trop de temps a perdre. Alors soit tu fais du VB et alors bien sur pas de code, soit du vrai win32 et c'est comme je dis.
BruNews, ciao...
0
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
25 juil. 2003 à 16:36
bon ok t as surement raison mais bon je sait pas comment faire avec spy++ et là sur le forum c pas la fete pour apprendre donc si tu as msn messenger et que tu a un peu de temps à m accorder juste pour que je puisse recuperer l id de la feentre et faire enfçn ma fonction ça serait cool
mon adresse pour msn messenger:
morgan06detoi06@hotmail.com ajoute moi dans tes contacts si tu veut bien
++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 juil. 2003 à 16:38
Je fais mais sera juste pour un temps limite, j'ai aussi du taf.
BruNews, ciao...
0
Rejoignez-nous