Executer un programme après l'arret d'un processus

Utilisateur anonyme -  
Naheulf Messages postés 287 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai retrouver mon vieux jeu "Cossacks - European Wars" et depuis entre temps je suis passé sous Windows 7 mais du coup j'ai lu qu'il y avait un problème d'affichage du jeu à cause du aero de Windows 7...

Du coup j'ai commencé un .exe qui est basé sur une réponse de quelqu'un sur le forum sauf que je voudrai faire tout automatique.

Voici les codes:

@echo off
taskkill /F /IM explorer.exe
CD C:\Program Files (x86)\Cossacks\
start dmcr.exe

Ensuite le jeu se lance sans aucun problème mais c'est juste qu'après je voudrai ajouter une ligne qui fait que dès que le processus de Cossacks s'arrête je souhaiterai qu'il fasse cette commande: start explorer.exe

Ce qui donnerai:

@echo off
taskkill /F /IM explorer.exe
CD C:\Program Files (x86)\Cossacks\
start dmcr.exe
(dès l'arrêt du processus dmcr.exe "cossacks")
start explorer.exe


Sauf que je ne connais pas cette commande. C'est pour cela que je fait appel à vous. Merci

Bien sur après je le transforme en .exe avec icône et je le publie pour que tout le monde puisse avoir ce contournement qui pour moi est le plus simple que j'ai trouvé.

Merci de votre gentillesse.

10 réponses

Utilisateur anonyme
 
Je ne sais pas. Toutefois, est-ce que tu as tenté de lancer le jeu en mode compatibilité ?

Avant de poser une question sur CCM, veuillez la poser à Google !
Vous pouvez mettre un "+1" si vous pensez qu'une réponse est utile et mettez en "résolu" à votre question, si c'est le cas !
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
enlever le start avant dmcr.exe
0
Utilisateur anonyme
 
oui j'ai essayer tout les paramètres de compatibilité et rien ne marche vu que le problèmes viens d'explorer.exe!

et je suis obligé de mettre start DRM.exe car sinon il connaît pas la commande...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
mettre le chemin complet devant
"\chemin\dmcr.exe"
pour le trouver
dir /s/b \dmcr.exe
0
Utilisateur anonyme
 
@echo off
taskkill /F /IM explorer.exe
C:\Program Files (x86)\Cossacks\dmcr.exe
(dès l'arrêt du processus dmcr.exe "cossacks")
start explorer.exe

Comme ça?? ca ne marche pas...

il n'y a que

@echo off
taskkill /F /IM explorer.exe
CD C:\Program Files (x86)\Cossacks\
start dmcr.exe
ping 1.1.1.1 -n 1 -w 50 > nul
start explorer.exe

qui fait ouvrir le jeu correctement mais après dès que explorer est relancé sa fait planté le jeu...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
avec des "
"C:\Program Files (x86)\Cossacks\dmcr.exe"
0
Utilisateur anonyme
 
nn idem ca me fait une erreur impossible de faire la mission et le jeu me signale qu'il manque un fichier...

Donc ce sera CD C:\Program Files (x86)\Cossacks\
start dmcr.exe

Et ca va très bien!!
0
Naheulf Messages postés 287 Date d'inscription   Statut Membre Dernière intervention   114
 
Tu peut mettre le sujet en résolu ?
0
Utilisateur anonyme
 
Salut.

Si je comprends bien :
Tu Kill explorer.exe
Si le processus dmcr.exe est fermé, tu relances explorer.exe


Essaye cela :

@echo off
taskkill /F /IM explorer.exe
CD "C:\Program Files (x86)\Cossacks\"
call dmcr.exe
explorer.exe

Et il faut mettre des guillemets, quand le chemin a au moins un espace.

De plus, Call permet de lancer un fichier... et met en pause le script pendant que le fichier est toujours actif.

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Ça ne fonctionne pas il me kill explorer.exe mais après plus rien, les autres commande ne se lancent pas..
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
cmd1
cmd2
cmd2 n'est exécuté que quand cmd1 a terminé
que veux-tu faire ?
0
Utilisateur anonyme
 
fr plz?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
?
0
Utilisateur anonyme
 
qu'es-ce-que cmd1 et cmd2???
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
n'importe quelles commandes ou programmes
elles s'exécutent séquentiellement, la 2ème dès que la 1ère a fini
0
Utilisateur anonyme
 
oui je sais mais le problème c'est que cmd1 ne se finit jamais car il arrête explorer puis il le redémarre sans lancer les jeux
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
et avec
@echo off
taskkill /F /IM explorer.exe
CD /d C:\Program Files (x86)\Cossacks\
dmcr.exe
start explorer.exe
0
Utilisateur anonyme
 
ba sa me kill explorer, me lance le jeux et quand le jeu ce lance, explorer se lance mais du coup ca fait tout planter...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
et avec
start /wait  dmcr.exe
0
Naheulf Messages postés 287 Date d'inscription   Statut Membre Dernière intervention   114
 
Est-ce que tu veut forcement faire ton script en batch ou est-ce que ça peut être de l'autoit ?
0
Utilisateur anonyme
 
Non pas forcément du moment que ça fais son boulo et que sa s'exécute comme un exe
0
lewewebug
 
Salut,
As-tu skype ? si oui peut tu me passer ton psedo je crois avoir la solution (VB.Net)
a+ peut-etre
0
Utilisateur anonyme
 
Oui bien sur que j'ai skype ! ;) production.d.i.t.g. et l'image de compte c'est un livre ....

Voilà @++
0
Naheulf Messages postés 287 Date d'inscription   Statut Membre Dernière intervention   114
 
Vu que l'on est sur le forum Autoit / Batch je propose une solution avec Autoit :
#cs ------------------------------------------------------------------------
AutoIt Version: 3.3.10.2
Author: Naheulf
Fonction du script:
Permet de lancer correctement "Cossacks - European Wars"
#ce ------------------------------------------------------------------------

While ProcessExists("explorer.exe")
ProcessClose ("explorer.exe" )
If @error Then
Exit @error
EndIf
Sleep(300);On attent un peut le temps que la liste des processus se mette à jour.
WEnd

RunWait("C:\Program Files (x86)\Cossacks\dmcr.exe","C:\Program Files (x86)\Cossacks\")

Do
Run("explorer.exe")
Until ProcessWait( "explorer.exe",60)

Le programme commence à partir du While.

Premier paragraphe : on arrêtes tous les processus "explorer.exe" si il y en a plusieurs de lancés. Et si il y a une erreur on quitte. (voir les codes d'erreurs dans l'aide d'Autoit.)

Deuxième Paragraphe : La commande RunWait va lancer le programme "C:\Program Files (x86)\Cossacks\dmcr.exe"depuis le dossier "C:\Program Files (x86)\Cossacks\" et attendre qu'il se termine avant de continuer le script.

Enfin jusqu'a ce que explorer soit lancé on le lance toutes les 60 secondes. On sais jamais si il ne veut pas se lancer ^^
0