Script pour application en background

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Script pour application en background

Re: Script pour application en background

Post by Blyat » 17 Dec 2017, 19:25

D'accord, mais est-ce que ça serai pas plus simple de tt simplement run la macro corsair sur les "deux VM" avec chaque client en focus sont sa partition respective ? Cela marcherai ?
No parce que le macro corsair a son propre controlleur de focus...

Re: Script pour application en background

Post by joedf » 17 Dec 2017, 18:25

Théoriquement, tu peux avoir 2 VM dont les fenêtres sont en focus “virtuellement”...
Et le host aurai ahk qui contrôle les VM...

Re: Script pour application en background

Post by Blyat » 17 Dec 2017, 18:08

Penses-tu qu'une simple macro clavier corsair (que j'utilise deja mtn et qui marche) fonctionnerai sur deux clients en mm temps séparé sur un VM chacun ? (sur un autre PC que j'laisse tourner) est-ce que les deux clients seraient indépendamment "en focus" ?

Re: Script pour application en background

Post by joedf » 17 Dec 2017, 13:23

ahh ok je vois. Oui fait simplement traiter le VM comme n'importe quel autre fenêtre. :+1:

Re: Script pour application en background

Post by Blyat » 16 Dec 2017, 17:32

Ok,je vais essayer autre chose , par rapport a mon message dans ce post : https://autohotkey.com/boards/viewtopic ... 18&t=41449

Quun a citer le VM étant une solution qui pourrait marcher. saurais tu faire marcher du ControlSend sur Deux client qui seraient en focus en même temps grâce a une Virtual Machine ?

Re: Script pour application en background

Post by joedf » 16 Dec 2017, 16:05

Hmmm... je sais qu'il y a PostMessage mais je connais pas tous les codes... :/

Re: Script pour application en background

Post by Blyat » 16 Dec 2017, 15:09

Bon apparement ControlSend ne marche pas en background, tout simplement, pour pas mal de jeux. Tu crois que il y a d'autres moyen d'arriver a mes fins ? Je veux juste qu'une succession de touches(abilities) soit frappées en background

Re: Script pour application en background

Post by Blyat » 16 Dec 2017, 14:38

Code: Select all

#NoEnv
SetWorkingDir %A_ScriptDir%
SendMode InputThenPlay


^j::

id_programme := WinExist("ahk_pid 6624")

ControlSend, , A, ahk_id %id_programme%
control+j : rien ne se passe (vérifié le PID au mm moment que de lancer le script)

Re: Script pour application en background

Post by joedf » 16 Dec 2017, 14:17

Ahh okay... I'll me semble que le jeu ne veux pas detecter les touches...
Hmm...
Sinon on peut essayer d'utiliser ahk_id au lieu de ahk_pid
exemple

Code: Select all

id_programme := WinExist("ahk_pid 5123")
ControlSend, , K, ahk_id %id_programme%

Peut-etre autoit? https://www.autoitscript.com/forum/topi ... ent=166960

Re: Script pour application en background

Post by Blyat » 16 Dec 2017, 11:40

Le winactivate marche, le fenêtre prends le focus, par contre la touche n'es pas envoyée

Re: Script pour application en background

Post by joedf » 16 Dec 2017, 11:10

Ok on dois tester voir si c'est un problème de reception...
Si tu activate la fenêtre directement et tu fais send... voir si ça fonctionne... :think:

Code: Select all

Winactivate, ahk_exe ArcheAge.exe
Send R

Re: Script pour application en background

Post by Blyat » 15 Dec 2017, 20:44

Ok alors le TestTool Send et ControlSend marchent mais exclusivement quand je focus la fenêtre. Si je focus une autre fenêtre, rien ne se passera

Re: Script pour application en background

Post by Blyat » 15 Dec 2017, 20:29

Mais selon google beaucoup de gens arrivent a faire marcher des script sur ce jeu via AHK (Jeu = ArcheAge) donc j'espère que on va trouve rune solution..

De plus, AHK est autorisé par l'éditeur du jeu

Re: Script pour application en background

Post by Blyat » 15 Dec 2017, 20:29

J'essaie le Send and click tool de suite, je te tiens au courant, merci pour le thread!

Re: Script pour application en background

Post by A_AhkUser » 15 Dec 2017, 20:19

Blyat wrote:Non rien ne se passe. Je te remercie de ton aide et vais poster sur le sous forum que tu m'as envoyé, merci beaucoup de ton temps
Désolé... A propos, voilà un lien vers un thread récemment actif dans le sub-forum anglophone 'tutorial' concernant les jeux, et dont le titre me semble à propos How to Make AHK Work in Most Games - The Basics. En espérant que ton jeu fasse partie de 'most', crossed fingers

Re: Script pour application en background

Post by Blyat » 15 Dec 2017, 20:05

Non rien ne se passe. Je te remercie de ton aide et vais poster sur le sous forum que tu m'as envoyé, merci beaucoup de ton temps

Re: Script pour application en background

Post by A_AhkUser » 15 Dec 2017, 19:56

J'ai vu un certain temps que SetKeyDelay peut jouer quand il s'agit de jeux. Si ton jeu ne répond pas au s envoyé je crains de ne pas avoir d'autre solution à te proposer... En même temps, pour ma part, ce genre de commandes c'est pas trop mon truc même si je sais que c'est aussi cela qui fait la renommée de AHK, en particulier auprès de gamers... Abstraction faite de nouvelles éventuelles solutions apportées, je te conseillerais pour ma part de te rapporter à la partie anglophone dédiée au gaming si le cas échéant le script ci-dessous s'avère ne pas fonctionner.

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input
#SingleInstance force
SetKeyDelay, 0, 50


#IfWinExist ahk_exe ArcheAge.exe
^j::
; WinGet, PID, PID, ahk_exe ArcheAge.exe ; retrouve l'ID du processus
; AHKID := "ahk_id " . WinExist("ahk_pid " . PID) ; retrouve l'ID de la fenêtre du jeu
; Loop {
ControlSend,, {s down} ; , % AHKID
Sleep, 200
ControlSend,, {s up} ; , % AHKID
sleep, 400
ControlSend, ahk_parent, {s down} ; , % AHKID
Sleep, 200
ControlSend, ahk_parent, {s up} ; , % AHKID
sleep, 400
; ...
; }
return
#If
F10::ExitApp

Re: Script pour application en background

Post by Blyat » 15 Dec 2017, 18:33

C'est bizarre, j'ai tenté avec une commande très simple, CTRL+J pour activer, pas de control send, juste activer sur la fenêtre en focus et toujours rien ne se passe

Code: Select all

#NoEnv
SetWorkingDir %A_ScriptDir%
SendMode InputThenPlay


^j::
F10::ExitApp
Loop
{


Send, , {Alt down}
Sleep, 90
Send, , {2 down}
Sleep, 160
Send, , {2 up}
Sleep, 40
Send, , {Alt up}
Sleep, 1000
Send, , {1 down}
Sleep 15500
Send, , {1 up}
Sleep 1000
Send, , {F down}
Sleep, 170
Send, , {F up}
Sleep 100
Send, , {4 down}
Sleep 200
Send, , {4 up}
Sleep 3500
Send, , {S down}
Sleep 10
Send, , {S up}

}
Return

Re: Script pour application en background

Post by Blyat » 15 Dec 2017, 15:17

Je rectifie : Si le jeu est déjà ouvert, il demandera d'ouvrir un nouveau client, et les touches partent dans le vide.

Si aucun client de jeu n'es ouvert, le script se lance mais aucune application ne s'ouvre

Je précise que l'application se lance via un launcher aussi,je pensais donc plus simple d'avoir l'application déjà ouverte pour juste send des keystrokes

Re: Script pour application en background

Post by Blyat » 15 Dec 2017, 15:12

Alors j'ai essayé ta commande , avec le notepad ça marche niquel. Par contre quand j'utilise le chemin complet du jeu, le jeu se refresh (écran de chargement de 1 ou 2 secondes) puis se remet normal, mais les touches ne s'appliquent pas a la fe,être, comme si elle avaient perdu le focus (c'est à dire que, ça fait le son windows de comme quand tu appuie une touche dans le vide, 4 fois, ce qui implique que les touches perdent le focus de l'application? je ne sais pas)

edit : tésté avec le jeu en mode fenêtré

Top