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

keybd_event, timing et info système

4 réponses
Avatar
val
Bonjour,

J'ai bricol=E9 un petit hook qui envoie des codes de touches =E0 des
applis pour automatiser certaines taches r=E9p=E9titives. Par exemple pour
se logger automatiquement sur un site web ou toute action qui puisse
se piloter au clavier avec les touches classiques (ALT, CTRL, L_WIN,
A, B, C...).
Mon soucis est que quelques fois le timing est mauvais. Par exemple,
pour reprendre l'exemple du site web, si le navigateur se lance trop
lentement, comme c'est le cas quand windows XP tra=EEte une autre t=E2che
de fond, alors les touches envoy=E9es pour se logger ne trouvent pas
leur fen=EAtre sur le site web car celle-ci n'a pas encore le focus.
Bon je peux mettre une tempo de quelques secondes entre les deux
=E9v=E8nements mais c'est pas terrible. J'aimerais savoir s'il est
possible d'obtenir des infos directement par le syst=E8me en
programmation WIN32 pour =EAtre s=FBr que le processus correspondant =E0
l'envoi des touches est termin=E9. Dans l'exemple plus haut, une fois ie
lanc=E9 je pourrai envoyer les touches de login (genre TAB TAB monlogin
monpass ENTER) d=E8s que le syst=E8me me dira que ie est charg=E9 et pr=E8s=
=E0
recevoir des =E9v=E8nements.
Je sais pas si c'est tr=E8s clair mais si vous avez des id=E9es je suis
preneur !

val

4 réponses

Avatar
Christian ASTOR
On 8 oct, 10:03, val wrote:
Bonjour,

J'ai bricolé un petit hook qui envoie des codes de touches à des
applis pour automatiser certaines taches répétitives. Par exemple pou r
se logger automatiquement sur un site web ou toute action qui puisse
se piloter au clavier avec les touches classiques (ALT, CTRL, L_WIN,
A, B, C...).
Mon soucis est que quelques fois le timing est mauvais. Par exemple,
pour reprendre l'exemple du site web, si le navigateur se lance trop
lentement, comme c'est le cas quand windows XP traîte une autre tâche
de fond, alors les touches envoyées pour se logger ne trouvent pas
leur fenêtre sur le site web car celle-ci n'a pas encore le focus.
Bon je peux mettre une tempo de quelques secondes entre les deux
évènements mais c'est pas terrible. J'aimerais savoir s'il est
possible d'obtenir des infos directement par le système en
programmation WIN32 pour être sûr que le processus correspondant à
l'envoi des touches est terminé. Dans l'exemple plus haut, une fois ie
lancé je pourrai envoyer les touches de login (genre TAB TAB monlogin
monpass ENTER) dès que le système me dira que ie est chargé et pr ès à
recevoir des évènements.
Je sais pas si c'est très clair mais si vous avez des idées je suis
preneur !



Il y a divers moyens comme SEE_MASK_WAITFORINPUTIDLE,
WaitForInputIdle(), IWebBrowser2::get_Busy(), ...
Avatar
val
On 8 oct, 15:17, Christian ASTOR wrote:
On 8 oct, 10:03, val wrote:





> Bonjour,

> J'ai bricolé un petit hook qui envoie des codes de touches à des
> applis pour automatiser certaines taches répétitives. Par exemple p our
> se logger automatiquement sur un site web ou toute action qui puisse
> se piloter au clavier avec les touches classiques (ALT, CTRL, L_WIN,
> A, B, C...).
> Mon soucis est que quelques fois le timing est mauvais. Par exemple,
> pour reprendre l'exemple du site web, si le navigateur se lance trop
> lentement, comme c'est le cas quand windows XP traîte une autre tâc he
> de fond, alors les touches envoyées pour se logger ne trouvent pas
> leur fenêtre sur le site web car celle-ci n'a pas encore le focus.
> Bon je peux mettre une tempo de quelques secondes entre les deux
> évènements mais c'est pas terrible. J'aimerais savoir s'il est
> possible d'obtenir des infos directement par le système en
> programmation WIN32 pour être sûr que le processus correspondant à
> l'envoi des touches est terminé. Dans l'exemple plus haut, une fois i e
> lancé je pourrai envoyer les touches de login (genre TAB TAB monlogin
> monpass ENTER) dès que le système me dira que ie est chargé et pr ès à
> recevoir des évènements.
> Je sais pas si c'est très clair mais si vous avez des idées je suis
> preneur !

Il y a divers moyens comme SEE_MASK_WAITFORINPUTIDLE,
WaitForInputIdle(),  IWebBrowser2::get_Busy(), ...- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -



Merci beaucoup, je vais regarder ça.

val
Avatar
aaaaaaaaaaaa
"val" a écrit dans le message de news:

Bonjour,

J'ai bricolé un petit hook qui envoie des codes de touches à des
applis pour automatiser certaines taches répétitives. Par exemple pour
se logger automatiquement sur un site web ou toute action qui puisse
se piloter au clavier avec les touches classiques (ALT, CTRL, L_WIN,
A, B, C...).
Mon soucis est que quelques fois le timing est mauvais. Par exemple,
pour reprendre l'exemple du site web, si le navigateur se lance trop
lentement, comme c'est le cas quand windows XP traîte une autre tâche
de fond, alors les touches envoyées pour se logger ne trouvent pas
leur fenêtre sur le site web car celle-ci n'a pas encore le focus.
Bon je peux mettre une tempo de quelques secondes entre les deux
évènements mais c'est pas terrible. J'aimerais savoir s'il est
possible d'obtenir des infos directement par le système en
programmation WIN32 pour être sûr que le processus correspondant à
l'envoi des touches est terminé. Dans l'exemple plus haut, une fois ie
lancé je pourrai envoyer les touches de login (genre TAB TAB monlogin
monpass ENTER) dès que le système me dira que ie est chargé et près à
recevoir des évènements.
Je sais pas si c'est très clair mais si vous avez des idées je suis
preneur !

val
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
Avatar
antoine
"aaaaaaaaaaaa" wrote in message
news:ge09oh$6d3$

"val" a écrit dans le message de news:

Bonjour,

//snip
Je sais pas si c'est très clair mais si vous avez des idées je suis
preneur !



On t'a répondu, pourquoi tu reposes la même question ?