Page 1 sur 1

SendKey sur une fenêtre en arrière-plan

Posté : ven. 15 juil. 2016 21:09
par ApoKLypsWarrior
Bonjour,

Après 3 jours de recherche et de test sans arriver à trouver une solution, je décide enfin de venir poser mon problème sur le forum.

Alors voilà, ce que j'aimerai faire est plutôt simple comme ça, mais à l'air très compliquer à réaliser.
Je voudrai simplement envoyé une Key sur une Fenêtre/Application en arrière-plan.

J'ai déjà tenté plusieurs choses. Dont le fameux ControlSend. Mais sans résultat, car dans tout les cas il faut que la fenêtre soit focus/active. A partir du moment où je focus une autre fenêtre, plus rien est envoyé.
Je commence à devenir un peu fou :mrgreen: C'est ce pourquoi je viens vers vous.

Est-ce que quelqu'un d'assez fou a-t-il réussi à faire ce petit truc où aura-t-il le courage d'essayer?

J'ai pu voir que sur d'autre langage, ils importent "user32.dll", mais n'étant pas du tout à l'aise avec l'import de DLL je ne peux clairement pas me pencher là-dessus.

Je vous remercie d'avance pour vos réponses.

Cordialement,
Apo.

Re: SendKey sur une fenêtre en arrière-plan

Posté : ven. 15 juil. 2016 21:22
par orax
Dont le fameux ControlSend. Mais sans résultat, car dans tout les cas il faut que la fenêtre soit focus/active.
Pourtant, même si elle n'est pas active, ça devrait quand même marcher.
Run("notepad.exe")
Sleep(2000)
Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)
WinSetState($hWnd, "", @SW_MINIMIZE)
Sleep(2000)
ControlSend($hWnd, "", "Edit1", "TEXTE")
WinSetState($hWnd, "", @SW_RESTORE)

Re: SendKey sur une fenêtre en arrière-plan

Posté : ven. 15 juil. 2016 21:50
par parazitenew
Bonsoir,

Le ControlSend() n'a pas besoin que la fenêtre soit active. Vérifie ton script.

Re: SendKey sur une fenêtre en arrière-plan

Posté : ven. 15 juil. 2016 21:54
par ApoKLypsWarrior
Bonsoir orax et parazitenew,

Tout d'abord merci pour vos réponses.

Je tiens à confirmer vos dires, cela fonctionne parfaitement bien. Mais... Parce qu'il faut toujours un mais :mrgreen:
Après quelques test, ré-écriture encore et encore, je n'arrive qu'à le faire fonctionner uniquement sur une zone texte éditable. Très étrange tout ça ^^'

EDIT: Si j'active la fenêtre en question, tout marche nickel.

Re: SendKey sur une fenêtre en arrière-plan

Posté : sam. 16 juil. 2016 01:31
par parazitenew
Elle est faite principalement pour ça. Après on ne sait pas trop ce que t'essaye de faire exactement.