begin process at 2012 05 29 16:32:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Priblème avec SetGlgItemTxt


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Priblème avec SetGlgItemTxt

mardi 18 février 2003 à 09:55:55 | Priblème avec SetGlgItemTxt

thebigbang

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"
mardi 18 février 2003 à 10:59:54 | Re : Priblème avec SetGlgItemTxt

BruNews

Administrateur CodeS-SourceS
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"
mardi 18 février 2003 à 11:50:13 | Re : Priblème avec SetGlgItemTxt

thebigbang

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"
>
mardi 18 février 2003 à 12:18:47 | Re : Priblème avec SetGlgItemTxt

BruNews

Administrateur CodeS-SourceS
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"
> >
>
mardi 18 février 2003 à 12:26:18 | Re : Priblème avec SetGlgItemTxt

thebigbang

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"
> > >
> >
>
mardi 18 février 2003 à 12:53:48 | Re : Priblème avec SetGlgItemTxt

BruNews

Administrateur CodeS-SourceS
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"
> > > >
> > >
> >
>
mardi 18 février 2003 à 12:58:57 | Re : Priblème avec SetGlgItemTxt

thebigbang

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"
> > > > >
> > > >
> > >
> >
>
mardi 18 février 2003 à 13:54:00 | Re : Priblème avec SetGlgItemTxt

BruNews

Administrateur CodeS-SourceS
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"
> > > > > >
> > > > >
> > > >
> > >
> >
>
mardi 18 février 2003 à 18:14:34 | Re : Priblème avec SetGlgItemTxt

thebigbang

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"
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
mardi 18 février 2003 à 18:36:51 | Re : Priblème avec SetGlgItemTxt

BruNews

Administrateur CodeS-SourceS
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"
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

1 2

Cette discussion est classée dans : fonction, edit, hwnd, spy, setglgitemtxt


Répondre à ce message

Sujets en rapport avec ce message

Exécuter fonction en appuyant sur enter sur un rich edit [ par Neomaster951 ] Bonjour, j'aimerais que lorsqu'un utilisateur écrive dans une rich edit box, que dès qu'il appuye enter, ça exécute une fonction. J'ai essayé de mettr Utilisation d'une fonction callback [ par laurentl2000 ] Bonjour, Voici une fonction callback destinée à envoyer les titres des fenêtres IE ouvertes dans une listbox... BOOL CALLBACK EnumWindowsProc(HWND hwn Edit control et mouse over [ par youpiyoyo ] je cherche a recuperer une chaine de caractères (ou un mot) dans une edit control ou rich edit peut importe lorsque je passe la souris dessus...j'ai d Problème avec un thread [ par Mini92 ] Bonsoir (ou bonjour),J'ai un ti soucis avec un thread, en fait, la fonction qui se trouve à l'intérieur ne s'exécute pas... Je comprend pas, pourtant Récupèrer Handle de fenetre [ par LaTatadu91 ] Bonjour, J'ai un problème avec cette fonction [code=cpp]HWND hWnd = FindWindow(0, "Server Config");[/code] qui est pourtant censée me renvoyer un Han Fonction qui recupere le HWND du prog courrant...??? [ par youpiyoyo ] j'aurai besoin de recupere le HWND,je sais ke l'on peut le mettre en global du genreLRESULT CALLBACK DlgMainProc(HWND hwnd, UINT msg, WPARAM wParam, L [C++ API W32] Timer et dialogbox... [ par ludoviskm ] Bonjour a toutes et a tous.Je suis actuellement en train de fair un petit programme qui se connecte a une base de données.Dans ce programme, je souhai la fonction InvalidateRect() [ par dyroj ] bonsoir, je voudrais savoir exactement la difference entre :-InvalidateRect(hwnd, NULL, FALSE);-InvalidateRect(hwnd, NULL, TRUE);-InvalidateRect(hwn dialog box avec edit ? [ par pruv3750 ] salutJe travail avec visual studio .net, et j'aimerais savoir s'il existe une fonction pour affichier une boite de dialogue avec un edit box a l'inter Une calculatrice en C++ sous windows [ par Juan-Marco ] Bonjour à tousVoila mon premier post sur ce forums Je connais bien les boucles, les variables et les structures. Je connais un peut moins les classes.


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales