Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1508 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Fermer une application quand une autre se ferme ?? Need help

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fermer une application quand une autre se ferme ?? Need help

n°2285205
link93300
Posté le 16-07-2016 à 00:01:09  profilanswer
 

Bonjour,
 
Je cherche a faire un fichier .bat qui doit:
 
-Ouvrir le jeu street fighter 5
-Ouvrir l'utilitaire de madcatz pour reconnaitre le stick dans le jeu
 
A la fermeture du jeu street fighter 5
-Fermer l'utilitaire de madcatz
 
Mon code donne ça:

Code :
  1. @echo off
  2. StreetFighterV.url
  3. Fight_Stick_TES_Profiler.exe
  4. tasklist /FI "StreetFighterV.exe" 2>NUL | find /I /N "StreetFighterV" >NUL
  5. if %ERRORLEVEL% == 1 goto mycode
  6. :mycode
  7. taskkill /IM Fight_Stick_TES_Profiler.exe


 
Mais quand je lance le .bat, le jeu et l'utilitaire s’exécute bien, mais quand je ferme le jeu, il ne ferme pas l'utilitaire. Par contre si je relance le .bat, il me ferme l'utilitaire et me lance le jeu sans du coup  :kaola:  
 
Comment modifier ça pour obtenir ce que je veux svp ?
 
Merci d'avance :)


Message édité par link93300 le 16-07-2016 à 00:36:14
mood
Publicité
Posté le 16-07-2016 à 00:01:09  profilanswer
 

n°2285209
rat de com​bat
attention rongeur méchant!
Posté le 16-07-2016 à 01:41:28  profilanswer
 

À mon avis faudrait un truc genre

Code :
  1. @echo off
  2. StreetFighterV.url
  3. Fight_Stick_TES_Profiler.exe
  4. DEBUT:
  5. tasklist /FI "StreetFighterV.exe" 2>NUL | find /I /N "StreetFighterV" >NUL
  6. if %ERRORLEVEL% == 1 goto mycode
  7. SINON { ATTENDRE 1S, GOTO DEBUT }
  8. :mycode
  9. taskkill /IM Fight_Stick_TES_Profiler.exe


C'est bien sûr du pseudo-code, je n'ai pas envie de m'emmerder à cette heure ci  :o et puis j'ai pas tasklist. Le problème de ton code initial c'est que peu importe si le jeu est lancé ou pas il va exécuter :mycode directement puis terminer le batch. Il faut donc une boucle comme dans mon exemple. Le ATTENDRE 1S sert à limiter la charge du processeur. À toi de traduire en batch, je conseille vivement de virer le echo off pour les tests!

n°2285226
link93300
Posté le 16-07-2016 à 13:11:12  profilanswer
 

J'ai trouvé, j'ai testé la liste dans cmd directement voir ce que donne le %errorlevel%, je laissais pas assez de temps pour qu'il détecte le .exe du jeu, le tasklist était mal écrit et il manquait aussi la boucle comme tu disais ^^
 
Ça donne ça:

Code :
  1. @echo off
  2. c:
  3. cd C:\Program Files\Mad Catz\Fight Stick TES\
  4. start Fight_Stick_TES_Profiler.exe
  5. start steam://rungameid/310950
  6. timeout /t 15 /nobreak > NUL
  7. :loop
  8. tasklist /FI "IMAGENAME eq StreetFighterV.exe" 2>NUL | find /I /N "StreetFighterV.exe">NUL
  9. if %ERRORLEVEL% == 0 (
  10. timeout /t 1 /nobreak > NUL
  11. goto loop )
  12. taskkill /IM Fight_Stick_TES_Profiler.exe


Message édité par link93300 le 16-07-2016 à 13:19:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Fermer une application quand une autre se ferme ?? Need help

 

Sujets relatifs
Fermer un des fichiers ouvertsApplication mobile en native ou hybride
Conseil langage à choisir pour mon applicationFermer et Ouvrir le Même fichier sans Souris
Programmation Catia help? [VB]projet web. création de site + de son application.
Script windows, help pleaseHelp Code c#
[Symfony/Php] vers Application mobile[Divers][Web]Htaccess : comment fermer une session ?
Plus de sujets relatifs à : Fermer une application quand une autre se ferme ?? Need help


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR