SVP aidez moi à finir ce programme

morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 - 25 juil. 2003 à 17:54
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 - 25 juil. 2003 à 21:38
#include "windows.h"
#include <stdlib.h>

int main()
{
HWND hparent;
HWND hfille;
hparent=FindWindow("IMWindowClass",NULL);
hfille=GetDlgItem(hparent,1);
UN:
HWND GetNextWindow(HWND IMWindowClass,UINT GW_HWNDNEXT); //le probleme vien de cette ligne
if(hfille == NULL) {
goto UN;
}
DEUX:
Sleep(60000);
SendMessage(hfille,WM_SETTEXT,0,(long)"MON TEXTE");
goto DEUX;
return 0;
}

voila donc c est un programme qui envoie le texte "mon texte" dans une fenetre de msn messenger toutes les minutes mais le probleme c que j ai une erreur de compilation: .cpp:11: parse error before `2' et je ne trouve pas comment resoudre le probleme
ps: merci à tout ceux qui m ont aidés

18 réponses

cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
25 juil. 2003 à 18:18
Salut,
Pourquoi
UN:
...//code
if(hfille == NULL) {
goto UN;
}
au lieu de
while(hfille==NULL){
...//code
}
De meme pour DEUX: ?????
et puis HWND IMWindowClass, et UINT GW_HWNDNEXT, c pas bon, il ne faudrait pas faire par exemple :
HWND hfille = GetNextWindow(hparent,GW_HWNDNEXT);
?
Bye,Xentor609
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 à 19:14
pour UN et DEUX tu as raison ( mais ça marche quand meme avec ma technique meme si elle est plus lourde) par contre pour le HWND hfille = GetNextWindow(hparent,GW_HWNDNEXT); ça marche pas ou bien peut etre que je n ai pas tout bien fait
si tu peut remettre tout le code comme il devrait etre afin qu il fonctionne ça serait cool
0
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
25 juil. 2003 à 20:04
Dans ton code, a quoi correspond hfille quand tu fais
GetDlgItem(hparent,1); ?
au fait, dans ton code, si le hfille est nulle, la boucle sera infinie non,donc a koi sert ta boucle "while"?
Si hfille doit correpondre a la fenetre de msn messenger, et que cette fenetre est situe en dessous de "IMWindowClass", alors:
int main()
{
HWND hparent;
HWND hfille;
hparent=FindWindow("IMWindowClass",NULL);
hfille = GetNextWindow(hparent,GW_HWNDNEXT); 
for(;;;)
Sleep(6000);
SetWindowText(hfille,"MON TEXTE")

Voila, comment j'ai compris ton probleme, mais si je me trompe, que j'ai mal compris, dis le moi.
Bye,Xentor609
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
25 juil. 2003 à 20:10
corrigé mais le bon fonctionnement n'est pas garanti, mais c quand même beaucoup mieu qu'avant ;)

@++;

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

int main()
{

HWND hparent;
HWND hfille;
HWND hNext;

hparent = FindWindow("IMWindowClass",NULL);

hfille = GetDlgItem(hparent,1);

while ( hNext ) {
hNext = GetNextWindow(hparent, GW_HWNDNEXT); //le probleme vien de cette ligne
}

while (1) {
Sleep(60000);
SendMessage(hNext, WM_SETTEXT, 0, (LPARAM)"MON TEXTE");
}

return 0;

}

~(.:: NitRic ::.)~
0

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

Posez votre question
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
25 juil. 2003 à 20:12
Excuse moi:

int main()
{
HWND hparent;
HWND hfille;
hparent=FindWindow("IMWindowClass",NULL);
hfille = GetNextWindow(hparent,GW_HWNDNEXT); 
for(;;;) //infini
{
Sleep(6000);
SetWindowText(hfille,"MON TEXTE")
}
return (0);
}

Bye,Xentor609
0
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
25 juil. 2003 à 20:27
Chuis d'accord avec toi, mais pourquoi il a mis le hfille?
c'est ca que je pige po moi.
M'enfin, je pense que ce code devrait fonctionner.
Reste a voir si ca correspond bien a ce qu'il cherche a faire.
Bye,Xentor609
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 à 20:27
pas de probleme pour la compilation mais aucun texte n est envoyé, je pense qu il y a un probleem pour trouver la fenetre
apparement le programme tourne en rond sur :
while ( hNext ) {
hNext = GetNextWindow(hparent, GW_HWNDNEXT);
}

j ai remplacé ( hnext ) par ( hnext==NULL) mais là le programme se termine sans envoyer de texte :-\
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 à 20:29
ça n envoie toujours pas de texte
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
25 juil. 2003 à 20:32
Ouais mais ... pourquoi ne pas apprendre le langage(C++) et 'Ensuite' te lancer dans le développement d'une application??? Parce que au début tu avais mis par exemple:

HWND Func(args); ... :\

Sans vouloir être méchant, apprend à programmer et 'Ensuite' développe ce que tu veux ...

~(.:: NitRic ::.)~
0
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
25 juil. 2003 à 20:32
Ben c'ets surement le hwndle qui n'ets pas bon, t'a essaye en utilisant le code de NitRic (en esperant que le handle trouve soit bien celui de la fentre msn)?
Bye,Xentor609
0
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
25 juil. 2003 à 20:35
A qui tu parles NitRic?
Moi ou morgandetoi?06?
Bye,Xentor609
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
25 juil. 2003 à 20:36
morgan ;)

parce qu'elle n'arrivera à rien de cette facon ... bref, c mon avis ...

~(.:: NitRic ::.)~
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 à 20:47
Salut,
Comme le dis Nitric, je pense aussi qu'aquerir des bases solides en C/C++ seraient une bonne chose avant de se lancer dans le devellopement d'un bot pour messenger...
0
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
25 juil. 2003 à 20:50
Bon j'en sais rien, mais es-tu sur que le hwnd trouvé correspond bien a la fenetre MSN?
A la rigueur tu peux faire un :
char buffer[255];
GetWindowText(hnext,buffer,255);

afin de recuperer le texte de la fenetre correspondant au hnext (evidemment fait le avant de "WM_SETTEXT"), et de verifier que celui ci correspond bien a une fenetre msn (ex: "Intel - conversation").
Bye,Xentor609
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 à 20:54
j ai essayé avec lui sien aussi ça me fait le meme probleme surement le handle n est pas bon, c est un autre gar qui m a dit que ct ça sinon toi tu pourrait savoir quel est le bon handle stp ?
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 à 20:59
eu tu peu me montrer comment utliser
char buffer[255];
GetWindowText(hnext,buffer,255);
et où le placer dans le code stp ? j ai essayé mais j ai des erreurs à la compilation et je ne sait pas quoi faire avec les info recupérées par genwindowtext ??
0
cs_Xentor609 Messages postés 258 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 16 août 2004
25 juil. 2003 à 21:11
Je vois pas pourquoi t'a des erreurs, j'ai pas teste mais ca devrait marcher:
#include "windows.h"
#include <stdlib.h>

int main()
{

HWND hparent;
HWND hfille;
HWND hNext;
char Text[50];
hparent = FindWindow("IMWindowClass",NULL);

hfille = GetDlgItem(hparent,1);

while ( hNext ) {
hNext = GetNextWindow(hparent, GW_HWNDNEXT); 
}
GetWindowText(hNext,Text,50);
MessageBox(NULL,Text,"Titre de la fenetre",MB_OK); //par exemple, le mieux ets carrement de debugger pour moi.

while (1) {
Sleep(60000);
SendMessage(hNext, WM_SETTEXT, 0, (LPARAM)"MON TEXTE");
}

return 0;

}



Mais bon, en fait je croyais que tu voulais recuperer le hwnd de la fentre pour y changer le titre, mais d'apres ce que je viens de voir sur ton post precedent, tu veux carrement ecrire le texte dans la zone texte de msn(c different).
et la je pourrais pas t'aider, faut dire que je suis au bord de la fatigue(il est tard ici), mais j'ai l'impression que tu t'attaques a un programme au dessus de tes capacites actuelles (sans voiloir etre mechant). Mais je pense qu'il faudrait d'abord que tu assimiles bien certaines bases et certaines fonctions au fur et a mesure, pour pouvoir ensuite te lancer dans la programmation de ce bot(une fois que tout est clair dans ta tete, et que tu as bien compris ces bases, ca "coule" presque de source.
Bye,Xentor609
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 à 21:38
le programme tourne mais n affiche aucune messagebox et n envoie aucun texte...
0
Rejoignez-nous