Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SendMessage et EditBox

13 réponses
Avatar
darkwall_37
Bonjour,

J'essaye d'afficher 10 fois dans notepad des chaines de caract=E8res de
taille variable. Cependant, rien ne se passe, en fait si j'ai bien
compris, il faut que je r=E9cup=E8re l'EditBox de Notepad. A priori,
FindWindowA ne semble pas =EAtre la fonction appropri=E9 =E0 ce que je
recherche. Peut aussi que WM_CHAR n'est pas le bon type, mais je ne
trouve pas de documentation clair sur le fonctionnement de
SendMessage. Je voulais donc savoir si vous pouviez =E9clairer ma
lanterne.

Merci d'avance !

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>

int main ()
{

_sleep(2000);
char flux[]=3D{'
','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','=
s','t','u','v','w','x','y','z'};

int taille=3Dsizeof(flux)/sizeof(char);

HWND Handle =3D FindWindowA("Notepad",NULL);

srand(time(NULL));

int i=3D0;
for ( i ; i<10 ; i++ )
{
int taille_aleatoire=3Drand()%taille;

int j=3D0;
for ( j ; j<taille_aleatoire ; j++ )
{
int l=3Drand()%taille;
SendMessage(Handle,WM_CHAR,VkKeyScan(flux[i]),
0);
_sleep(50);
}
}

}

10 réponses

1 2
Avatar
Christian ASTOR
On 2 nov, 13:34, darkwall_37 wrote:

    HWND Handle = FindWindowA("Notepad",NULL);



HWND Handle = FindWindowEx(FindWindow("Notepad", NULL), NULL,"Edit",
NULL);
Avatar
darkwall_37
On 2 nov, 14:00, Christian ASTOR wrote:
On 2 nov, 13:34, darkwall_37 wrote:

>     HWND Handle = FindWindowA("Notepad",NULL);

HWND Handle = FindWindowEx(FindWindow("Notepad", NULL), NULL,"Edit",
NULL);



Merci pour votre réponse, c'est exactement ce qu'il me fallait !
Si c'est possible, j'aurais aimé savoir quelle est la fonction que
vous avez utilisé pour récupérer la valeur de l'EditBox "Edit" de
Notepad ?
J'ai constaté que tous les caractères qui sont envoyés s'affichent en
majuscules. Ma question est la suivante : Est-il possible de remédier
à ce petit souci de telle manière à afficher minuscules et
majuscules ?

Merci d'avance.
Avatar
darkwall_37
On 2 nov, 14:00, Christian ASTOR wrote:
On 2 nov, 13:34, darkwall_37 wrote:

>     HWND Handle = FindWindowA("Notepad",NULL);

HWND Handle = FindWindowEx(FindWindow("Notepad", NULL), NULL,"Edit",
NULL);



Merci pour votre réponse, c'est exactement ce qu'il me fallait !
Si c'est possible, j'aurais aimé savoir quelle est la fonction que
vous avez utilisé pour récupérer la valeur de l'EditBox "Edit" de
Notepad ?
J'ai constaté que tous les caractères qui sont envoyés s'affichent en
majuscules. Ma question est la suivante : Est-il possible de remédier
à ce petit souci de telle manière à afficher minuscules et
majuscules ?

Merci d'avance.
Avatar
Christian ASTOR
On 2 nov, 20:21, darkwall_37 wrote:

Merci pour votre réponse, c'est exactement ce qu'il me fallait !
Si c'est possible, j'aurais aimé savoir quelle est la fonction que
vous avez utilisé pour récupérer la valeur de l'EditBox "Edit" de
Notepad ?



C'est juste le nom de la classe standard de l'Edit control
Utiliser Spy++ pour vérifier

J'ai constaté que tous les caractères qui sont envoyés s'affichent en
majuscules. Ma question est la suivante : Est-il possible de remédier
à ce petit souci de telle manière à afficher minuscules et
majuscules ?



Enlève VkKeyScan()
Il faut juste passer le caractère tel qu'il est.
toupper() pour le mettre en majuscule
Avatar
darkwall_37
On 2 nov, 21:34, Christian ASTOR wrote:
On 2 nov, 20:21, darkwall_37 wrote:

> Merci pour votre réponse, c'est exactement ce qu'il me fallait !
> Si c'est possible, j'aurais aimé savoir quelle est la fonction que
> vous avez utilisé pour récupérer la valeur de l'EditBox "Edit" de
> Notepad ?

C'est juste le nom de la classe standard de l'Edit control
Utiliser Spy++ pour vérifier

> J'ai constaté que tous les caractères qui sont envoyés s'affichen t en
> majuscules. Ma question est la suivante : Est-il possible de remédier
> à ce petit souci de telle manière à afficher minuscules et
> majuscules ?

Enlève VkKeyScan()
Il faut juste passer le caractère tel qu'il est.
toupper() pour le mettre en majuscule



Merci une fois de plus, toupper() marche au taquet.
J'ai trouvé spy++ et je retrouve bien Edit. Cependant, si je souhaite
chercher autre chose comme par exemple la barre de recherche de
l'explorer, quand je developpe son arborescence, il y a énormément de
choix. Est-ce qu'il est possible de n'afficher que que l'endroit où le
curseur pointe ou d'une autre manière quelle qu'elle soit.
Y'a un filtre mais quoi que je coche ou ne décoche, après avoir
rafraichi, rien ne change. Auriez vous une petite idée ?

Merci d'avance.
Avatar
darkwall_37
On 2 nov, 21:34, Christian ASTOR wrote:
On 2 nov, 20:21, darkwall_37 wrote:

> Merci pour votre réponse, c'est exactement ce qu'il me fallait !
> Si c'est possible, j'aurais aimé savoir quelle est la fonction que
> vous avez utilisé pour récupérer la valeur de l'EditBox "Edit" de
> Notepad ?

C'est juste le nom de la classe standard de l'Edit control
Utiliser Spy++ pour vérifier

> J'ai constaté que tous les caractères qui sont envoyés s'affichen t en
> majuscules. Ma question est la suivante : Est-il possible de remédier
> à ce petit souci de telle manière à afficher minuscules et
> majuscules ?

Enlève VkKeyScan()
Il faut juste passer le caractère tel qu'il est.
toupper() pour le mettre en majuscule



Merci une fois de plus, toupper() marche au taquet.
J'ai trouvé spy++ et je retrouve bien Edit. Cependant, si je souhaite
chercher autre chose comme par exemple la barre de recherche de
l'explorer, quand je developpe son arborescence, il y a énormément de
choix. Est-ce qu'il est possible de n'afficher que que l'endroit où le
curseur pointe ou d'une autre manière quelle qu'elle soit.
Y'a un filtre mais quoi que je coche ou ne décoche, après avoir
rafraichi, rien ne change. Auriez vous une petite idée ?

Merci d'avance.
Avatar
darkwall_37
On 2 nov, 21:34, Christian ASTOR wrote:
On 2 nov, 20:21, darkwall_37 wrote:

> Merci pour votre réponse, c'est exactement ce qu'il me fallait !
> Si c'est possible, j'aurais aimé savoir quelle est la fonction que
> vous avez utilisé pour récupérer la valeur de l'EditBox "Edit" de
> Notepad ?

C'est juste le nom de la classe standard de l'Edit control
Utiliser Spy++ pour vérifier

> J'ai constaté que tous les caractères qui sont envoyés s'affichen t en
> majuscules. Ma question est la suivante : Est-il possible de remédier
> à ce petit souci de telle manière à afficher minuscules et
> majuscules ?

Enlève VkKeyScan()
Il faut juste passer le caractère tel qu'il est.
toupper() pour le mettre en majuscule



Merci une fois de plus, toupper() marche au taquet.
J'ai trouvé spy++ et je retrouve bien Edit. Cependant, si je souhaite
chercher autre chose comme par exemple la barre de recherche de
l'explorer, quand je developpe son arborescence, il y a énormément de
choix. Est-ce qu'il est possible de n'afficher que que l'endroit où le
curseur pointe ou d'une autre manière quelle qu'elle soit.
Y'a un filtre mais quoi que je coche ou ne décoche, après avoir
rafraichi, rien ne change. Auriez vous une petite idée ?

Merci d'avance.
Avatar
darkwall_37
On 2 nov, 23:11, darkwall_37 wrote:
On 2 nov, 21:34, Christian ASTOR wrote:



> On 2 nov, 20:21, darkwall_37 wrote:

> > Merci pour votre réponse, c'est exactement ce qu'il me fallait !
> > Si c'est possible, j'aurais aimé savoir quelle est la fonction que
> > vous avez utilisé pour récupérer la valeur de l'EditBox "Edit" de
> > Notepad ?

> C'est juste le nom de la classe standard de l'Edit control
> Utiliser Spy++ pour vérifier

> > J'ai constaté que tous les caractères qui sont envoyés s'affich ent en
> > majuscules. Ma question est la suivante : Est-il possible de remédi er
> > à ce petit souci de telle manière à afficher minuscules et
> > majuscules ?

> Enlève VkKeyScan()
> Il faut juste passer le caractère tel qu'il est.
> toupper() pour le mettre en majuscule

Merci une fois de plus, toupper() marche au taquet.
J'ai trouvé spy++ et je retrouve bien Edit. Cependant, si je souhaite
chercher autre chose comme par exemple la barre de recherche de
l'explorer, quand je developpe son arborescence, il y a énormément de
choix. Est-ce qu'il est possible de n'afficher que que l'endroit où le
curseur pointe ou d'une autre manière quelle qu'elle soit.
Y'a un filtre mais quoi que je coche ou ne décoche, après avoir
rafraichi, rien ne change. Auriez vous une petite idée ?

Merci d'avance.



Désolé, je ne comprends pas pourquoi il me r'affiche le message à
chaque foi que j'actualise...
Avatar
nico
darkwall_37 wrote:

Désolé, je ne comprends pas pourquoi il me r'affiche le message à
chaque foi que j'actualise...



Utilise un lecteur de News comme Windows Mail :
http://www.libellules.ch/dotclear/index.php?2007/05/16/1874-windows-mail-sabonner-a-un-groupe-de-discussion-newsgroup
Avatar
Steph
"darkwall_37" a écrit dans le message de news:

On 2 nov, 21:34, Christian ASTOR wrote:
...
Est-ce qu'il est possible de n'afficher que que l'endroit où le


curseur pointe ou d'une autre manière quelle qu'elle soit.

Tu trouves les fenetres visuellement avec la souris et le 'Finder Tool' :
http://support.citrix.com/article/html/images/CTX103137-2.gif
1 2