Page 1 sur 1
Fermer tâche en cours via un batch
Publié : 11 févr. 2016 - 17:16
par DrEamApiX
Salut tout le monde!
J'ai un besoin et je ne connais pas les instructions et/ou astuce pour le mettre en oeuvre.
Sur certain émulateurs ou jeux, je ne peux pas modifier la touche pour arrêter le soft.
Ce que je souhaiterai c'est réaliser un petit script qui tournerai en fond au moment du démarrage du soft et qui surveille l'appui sur cette touche pour tuer la "tache active" (à savoir donc l'emulateur.
Je ne souhaite pas utiliser Xpadder car aujourd'hui aucun de mes systèmes ne requiert son utilisation vu que j'ai un hack clavier.
J'imaginait donc la chose de la sorte:
- Démarrage du soft ou de l'émulateur via un fichier BAT qui lance l'émulateur mais reste en tache de fond en attendant l'appui sur la touche que je veux utiliser pour fermer le programme
- Appui sur la fameuse touche
- Le batch (ou script) lit donc cette touche et ferme SEULEMENT le programme actif à savoir l'émulateur ou soft ce qui me ramène à mon Hyperspin.
Je suis optimiste???
Quelqu'un saurait me coder ça ou alors m'aiguiller sur la liste des instructions?
Merci d'avance
Re: Fermer tache en cours via un batch
Publié : 11 févr. 2016 - 17:35
par Karkinge
Je ne suis pas sur que ca puisse marcher comme tu le decrit : de mémoire, quand un batch lance un programme il n'écoute plus aucun frappe clavier , il attend juste que son programme se termine pour passer a la suite.
A la limite, il faudrait que ton bouton soit mappé sur le combo "alt + F4" pour fermer la fenetre active mais ca veut dire qu'il ne servira qu'a la fermeture, tu ne pourra pas le mapper pour d'autres utilisations.
Désolay, ca t'avance pas a grand chose

Re: Fermer tâche en cours via un batch
Publié : 11 févr. 2016 - 18:51
par Bastok
Tout d'abord dans quel contexte as tu besoin de faire ça ?
Normalement RL le fait très bien. Je pose la question et je dis "normalement", parce que pour les jeux PC que j'ai rajouté à ma box RL ne ferme pas le programme, mais je n'ai pas cherché plus loin si c'était un problème lié à RL ou si c'était moi qui avait raté un truc dans la config.
Note : C'est une des fonctionnalités, que j'ai noté pour une future version d'HyperConfig
Sinon pour répondre à ta question, c'est typiquement à ce genre de choses que sert AHK
Fermer tâche en cours via un batch
Publié : 11 févr. 2016 - 18:53
par DrEamApiX
Actuellement pour fermer une appli j'utilise RL pour lequel j'ai configuré la touche "3".
Je rencontre ce problème sur OpenBor par exemple et aussi sur certains jeux PC également...
ScummVM aussi m'empêche de le fermer par mon bouton défini sur RL il me faut un clavier et faire ALT+F4
Envoyé depuis mon TATOO en utilisant Tapatalk
Re: Fermer tâche en cours via un batch
Publié : 12 févr. 2016 - 10:07
par nikoups
Salut,
Ce genre de chose est réalisable assez facilement en AutoIt (pour peu que l'on aime la programmation

).
Avec les fonction suivantes :
-> pour tuer un processus.
-> pour définir une touche Hotkey (la touche qui lancera le ProcessClose).
Le programme autoit pourra être compiler en Exe et lancer par le ahk au lancement de l'émulateur ou autre (batch etc ...)
J'ai déjà réalisé un truc similaire, donc si tu veut de l'aide hésite pas
Edit : ça doit être aussi réalisable en AHK directement grâce aux fonction KeyWait et Process

Re: Fermer tâche en cours via un batch
Publié : 12 févr. 2016 - 10:36
par DrEamApiX
Merci @nikoups !!!
Je vais regarder ça de plus près! Tu n'as pas un exemple de source à me filer au pire?
Re: Fermer tâche en cours via un batch
Publié : 12 févr. 2016 - 10:49
par nikoups
En AutoIt (je maîtrise plus que le AHK

) :
Code : Tout sélectionner
HotKeySet("{ESC}", "HotKeyPressed")
HotKeySet("d", "HotKeyPressed")
Local $iPID = Run("notepad.exe")
WinWait("[CLASS:Notepad]", "", 10)
Sleep(2000)
While 1
Sleep(100)
WEnd
Func HotKeyPressed()
Switch @HotKeyPressed
Case "{ESC}"
Exit
Case "d"
ProcessClose($iPID)
Exit
EndSwitch
EndFunc
Exemple avec notepad ici que je lance volontairement dans le script.
Si tu appui sur la touche D du clavier, notepad se ferme
Si tu appui sur sur ESC le script se ferme mais notepad reste ouvert (juste un exemple pour la compréhension).
la version compilé si tu veut tester rapidement :
test.exe
Re: Fermer tâche en cours via un batch
Publié : 12 févr. 2016 - 12:03
par DrEamApiX
Merci je teste ce weekend
Re: Fermer tâche en cours via un batch
Publié : 12 févr. 2016 - 12:37
par nikoups
Si la solution te va et que tu bloque niveau AutoIt je trouverais bien 5 minutes pour te donner le code adapté à tes besoins

Re: Fermer tâche en cours via un batch
Publié : 12 févr. 2016 - 12:38
par DrEamApiX
nikoups a écrit :Si la solution te va et que tu bloque niveau AutoIt je trouverais bien 5 minutes pour te donner le code adapté à tes besoins

C'est cool je te remercie je vais m'inspirer de ca je devrais y arriver et si jamais j'ai un souci je penserai a ta proposition merci l'ami!
Envoyé depuis mon TATOO en utilisant Tapatalk