tu n'obtiens toujours pas le hwnd ???
tu es certain que titre ne change pas pendant execution comme beaucoup de progs font ???
Je te propose de faire
HWND hwnd=FindWindow("ClassName", 0);
"ClassName" SPY te le donne a moins que soit une dlgbox.
pour le idCtrl SPY te le donne avec certitude, il ne peut pas changer.
On peut savoir quel prog externe tu veux toucher ???
C'est mystique ton affaire, j'ai deja change titre de IE, Explor Windows etc sans aucun prob.
ciao...
-------------------------------
Réponse au message :
-------------------------------
> euh ca marche pas mieux ;(
>
> Bigbang
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > HWND hwnd=FindWindow("","titre de la fenetre");
> > j'avais pas fait gaffe, fais
> > HWND hwnd=FindWindow(0,"titre de la fenetre");
> > le 1er param est soit:
> > un ClassName valide
> > soit NULL
> > "" en C est != NULL
> > "" est une chaine de 1 octet = 0
> > c'est tres different
> > ciao...
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > j'ai essayé ca donc :
> > >
> > > HWND hwnd=FindWindow("","titre de la fenetre");
> > > if(!IsWindow(hwnd))
> > > {
> > > MessageBox(0,"ici","",0);
> > > }
> > >
> > > mais ca affiche la messagebox ... donc ca veur dire que le handle récupéré est pas le bon ? Comment ca se fait ?
> > >
> > > Bigbang
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > if(!IsWindow(hwnd)) traite erreur.
> > > > ciao...
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > comment tu fais pour voir si c'est le bon handle ?
> > > > > parce que meme en faisant
> > > > >
> > > > > #include <windows.h>
> > > > >
> > > > > void main(void)
> > > > > {
> > > > > HWND hwnd=FindWindow("","titre de la fenetre");
> > > > > HWND hed = GetDlgItem(hwnd, 1000);
> > > > > SetWindowText(hed, "mon texte");
> > > > > }
> > > > >
> > > > > ca marche pas ...
> > > > > j'en viens à me demander si ca serait pas le 1000 qui colle pas ...
> > > > >
> > > > > Comment tu ferais pour avoir la valeur de l'identifiant de l'edit (nIDDlgItem) ?
> > > > >
> > > > > Bigbang
> > > > >
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > HWND hwnd=FindWindow("","titre de la fenêtre");
> > > > > > tu as fait un test du hwnd retourne ???
> > > > > > Fais le. Si bon:
> > > > > > HWND hed = GetDlgItem(hwnd, 1000);
> > > > > > tu testes aussi.
> > > > > > si bon alors SetWindowText(hed, "mon texte");
> > > > > > ciao...
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > ok ok ... merci pour cette aide déjà ...
> > > > > > > je sais que le handle change à chaque fois, mais je me suis dit que vu qu'une fois lancé il ne change plus, je peu le récupérer, et travailler avec celui que Spy++ me fournit ...
> > > > > > >
> > > > > > > enfin je pense quand même que l'utilisation de FindWindows est plus rigoureux.. Seulement je n'ai pas réussi à la faire marcher non plus ... j'ai bien le titre de la fenêtre dont je cherche le handle de l'edit, mais ca donne rien ... voila le code changé :
> > > > > > >
> > > > > > > #include <windows.h>
> > > > > > >
> > > > > > > void main(void)
> > > > > > > {
> > > > > > >
> > > > > > > HWND hwnd=FindWindow("","titre de la fenêtre");
> > > > > > > SetDlgItemText(hwnd,1000,"toto");
> > > > > > >
> > > > > > > }
> > > > > > >
> > > > > > > Peut tu m'aider ?
> > > > > > >
> > > > > > > merci
> > > > > > >
> > > > > > > Bigbang
> > > > > > > Webmaster de
[ Lien ]> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > Salut,
> > > > > > > > le seul truc dont tu seras certain est le 2eme param 1000 si est le cas. A l'inverse le hwnd change a chaque lancement de ce prog, comme tous les autres. Il faut passer par FindWindow() pour obtenir son handle a l'execution. Il te faut soit son titre soit son ClassName. Seulement ainsi tournera.
> > > > > > > > ciao.
> > > > > > > >
> > > > > > > > -------------------------------
> > > > > > > > Réponse au message :
> > > > > > > > -------------------------------
> > > > > > > >
> > > > > > > > > bonjour à vous tous ...
> > > > > > > > >
> > > > > > > > > J'ai un problème avec cette fonction : SetGlgItemTxt
> > > > > > > > >
> > > > > > > > > J'ai une fenêtre Win32 avec une edit donc je voudrais modifier la valeur.
> > > > > > > > >
> > > > > > > > > J'ai procédé ainsi :
> > > > > > > > > j'ai récupéré le handle de l'edit avec Spy++ de VC++ 6
> > > > > > > > > j'ai utilisé la fonction SetGlgItemTxt comme ceci :
> > > > > > > > >
> > > > > > > > > #include <windows.h>
> > > > > > > > >
> > > > > > > > > void main(void)
> > > > > > > > > {
> > > > > > > > >
> > > > > > > > > HWND hwnd;
> > > > > > > > > hwnd="1573722";
> > > > > > > > >
> > > > > > > > > SetDlgItemText(hwnd,1000,"toto");
> > > > > > > > >
> > > > > > > > > }
> > > > > > > > >
> > > > > > > > > où 1573722 est la handle converti en décimal donné en hexa par Spy++
> > > > > > > > >
> > > > > > > > > le 2e arg de la fonction (1000) c'est la valeur de l'ID de l'edit dans la fenetre .. j'ai lu ca aussi dans Spy++
> > > > > > > > >
> > > > > > > > > et le "toto" c'est le texte que je veux réussir à mettre dans l'edit ...
> > > > > > > > >
> > > > > > > > > Lorsque je compile et éxecute le code, rien ne se produit...
> > > > > > > > >
> > > > > > > > > Si quelqu'un peut m'aide ce serait sympa de sa part ...
> > > > > > > > > merci à lui (ou a eux !)
> > > > > > > > >
> > > > > > > > > Bigbang
> > > > > > > > > Webmaster de
www.OsIrIs-Security.Com"
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>