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

Instruction SendMessage...

1 réponse
Avatar
Phil
Bonjour,

En version 5.5, il existait un exemple de clavier
virtuel, il ne fonctionne plus en version 8...Après recherche, il s'avère
que c'est
l'instruction "SendMessage" qui pose problème.J'ai essayé de la remplacer
par un appel direct à
l'API "SendMessageA" mais cela ne fonctionne pas.
L'alternative est l'utilisation de "EnvoieTouche"
mais pourquoi l'appel à SendMessage ne fonctionne-t-il pas ? Je suppose que
si un problème se pose avec cet API, d'autres doivent poser problème
également.

Protocole de reproduction :
Créer une nouvelle fenêtre contenant un champ de
saisie ("sa_test") et un bouton.Exécuter le code suivant lors du click sur
le
bouton :
sendmessage(handle("sa_test"),258,asc("P"),0)
Tester la fenêtre : rien ne se passe, alors qu'en
Windev 5.5 un P s'affiche dans le champ de
saisie.

P.S.: le remplacement de la ligne de code par
"AppelDLL32("user32","SendMessageA",handle("sa_test"),258,asc("P"),0) ", ça
ne fonctionne pas non plus...

Merci de votre aide.

Phil

1 réponse

Avatar
Phil
Désolé j'ai oublié le flag : [WD 8]
"Phil" a écrit dans le message de
news:407f8ab1$0$875$
Bonjour,

En version 5.5, il existait un exemple de clavier
virtuel, il ne fonctionne plus en version 8...Après recherche, il s'avère
que c'est
l'instruction "SendMessage" qui pose problème.J'ai essayé de la remplacer
par un appel direct à
l'API "SendMessageA" mais cela ne fonctionne pas.
L'alternative est l'utilisation de "EnvoieTouche"
mais pourquoi l'appel à SendMessage ne fonctionne-t-il pas ? Je suppose


que
si un problème se pose avec cet API, d'autres doivent poser problème
également.

Protocole de reproduction :
Créer une nouvelle fenêtre contenant un champ de
saisie ("sa_test") et un bouton.Exécuter le code suivant lors du click sur
le
bouton :
sendmessage(handle("sa_test"),258,asc("P"),0)
Tester la fenêtre : rien ne se passe, alors qu'en
Windev 5.5 un P s'affiche dans le champ de
saisie.

P.S.: le remplacement de la ligne de code par
"AppelDLL32("user32","SendMessageA",handle("sa_test"),258,asc("P"),0) ",


ça
ne fonctionne pas non plus...

Merci de votre aide.

Phil