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

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

  1. 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
    1. Contributeur
      hello
      enlever le start avant dmcr.exe
      0
      1. 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
        1. Contributeur
          mettre le chemin complet devant
          "\chemin\dmcr.exe"
          pour le trouver
          dir /s/b \dmcr.exe
          0
        2. @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
        3. Contributeur
          avec des "
          "C:\Program Files (x86)\Cossacks\dmcr.exe"
          0
        4. 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
        5. Tu peut mettre le sujet en résolu ?
          0
      2. 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
        1. Ça ne fonctionne pas il me kill explorer.exe mais après plus rien, les autres commande ne se lancent pas..
          0
          1. Contributeur
            cmd1
            cmd2
            cmd2 n'est exécuté que quand cmd1 a terminé
            que veux-tu faire ?
            0
            1. fr plz?
              0
            2. Contributeur
              ?
              0
            3. qu'es-ce-que cmd1 et cmd2???
              0
            4. Contributeur
              n'importe quelles commandes ou programmes
              elles s'exécutent séquentiellement, la 2ème dès que la 1ère a fini
              0
            5. 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
          2. Contributeur
            et avec
            @echo off
            taskkill /F /IM explorer.exe
            CD /d C:\Program Files (x86)\Cossacks\
            dmcr.exe
            start explorer.exe
            0
            1. 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
            2. Contributeur
              et avec
              start /wait  dmcr.exe
              0
          3. Est-ce que tu veut forcement faire ton script en batch ou est-ce que ça peut être de l'autoit ?
            0
            1. Non pas forcément du moment que ça fais son boulo et que sa s'exécute comme un exe
              0
          4. Salut,
            As-tu skype ? si oui peut tu me passer ton psedo je crois avoir la solution (VB.Net)
            a+ peut-etre
            0
            1. Oui bien sur que j'ai skype ! ;) production.d.i.t.g. et l'image de compte c'est un livre ....

              Voilà @++
              0
          5. 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