Comment démarrer un programme lorsqu'un autre est démarré

14

Je veux qu'un programme démarre chaque fois qu'un autre démarre.

Voici un exemple: chaque fois que je lance Google Chrome, j'aimerais qu'iTunes démarre en même temps.

En outre, je veux qu'il démarre lorsque je clique sur un lien dans mon navigateur qui démarre un programme (comme "afficher sur iTunes sur le site iTune).

Je ne veux pas avoir à faire avec un fichier .bat.

Je cours sur Windows 7

TheBird956
la source
Pouvez-vous clarifier. La première option est que si vous ouvrez Chrome, iTunes démarre également. Mais la deuxième option - lorsque vous cliquez sur un lien qui ouvre iTunes, vous voulez que quelque chose d'autre s'ouvre également?
Paul
Ce ne sont que des exemples, fondamentalement, je veux démarrer plusieurs programmes quand je veux démarrer l'un ou l'autre programme veut le démarrer
TheBird956

Réponses:

19

Vous pouvez probablement configurer des paires d'applications spécifiques pour qu'elles s'exécutent à l'aide du registre et modifier ce qui concerne les types MIME. Cependant, une autre manière plus générique et beaucoup plus complexe consiste à utiliser le Planificateur de tâches. Le planificateur de tâches peut démarrer une application en fonction de différents types de déclencheurs, y compris les entrées du journal des événements.

Il nous suffit donc de nous assurer qu'un événement est créé au démarrage d'une application, puis de créer une tâche planifiée pour démarrer chaque fois que l'événement est enregistré.

Activer la journalisation du «démarrage de l'application»

  1. Commencez et entrez secpol.mscdans la zone Exécuter
  2. Accédez à Stratégies locales / Stratégie d'audit
  3. Double-cliquez sur le suivi du processus d'audit et activezSuccess

Maintenant, si vous démarrez une application, si vous regardez dans l'Observateur d'événements / Journal de sécurité, vous verrez un événement de création de processus à4688 chaque démarrage d'une application.

Créer une tâche planifiée en fonction du déclencheur

  1. Ouvrez le Planificateur de tâches et créez une nouvelle tâche
  2. Dans l' onglet Général , donnez un nom à la tâche
  3. Dans l' onglet Déclencheurs , créez un nouveau déclencheur et choisissez Sur un événement comme déclencheur
  4. Choisissez Personnalisé , puis cliquez sur Modifier le filtre d'événements
  5. Modifiez les paramètres du filtre comme suit:

Filtre de tâche

Passez maintenant à l' onglet XML et activez la modification de la requête manuellement

Vous verrez ce qui suit

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 13312 and (band(Keywords,9007199254740992)) and (EventID=4688)]] 
    </Select>
  </Query>
</QueryList>

Il ne vous reste plus qu'à ajouter l'application que vous souhaitez déclencher. Par exemple, celui-ci utilise notepad.execomme déclencheur:

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
     *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 13312 and (band(Keywords,9007199254740992)) and (EventID=4688)]] 
   and 
     *[EventData[Data[@Name='NewProcessName'] and (Data='C:\Windows\System32\notepad.exe')]]
    </Select>
  </Query>
</QueryList>

Cliquez Okpour cela, puis Okpour fermer la boîte de dialogue de déclenchement.

Maintenant, choisissez l' onglet Action et créez une nouvelle action, c'est-à- Start a Programdire et accédez à l'application que vous souhaitez démarrer avec l'application de déclenchement.

Paul
la source
Je n'ai rien nommé secpol.msc. J'ai fait une petite recherche et je pense que c'est parce qu'elle n'est pas disponible dans Windows 7 Home Premium. Y a-t-il un autre moyen?
TheBird956 du
La politique d'audit doit être modifiée pour que cela fonctionne, et elle est absente de W7HP. Il existe quelques guides pour installer gpedit.msc sur W7HP que vous voudrez peut-être essayer. Vous pouvez également modifier la stratégie d'audit avec cela, dansComputer Configuration/Windows Settings/Security Settings/Audit Policy
Paul
@ TheBird956 Avez-vous réussi à le faire fonctionner?
Paul
Je n'ai pas la bonne version de Windows. Je pense que j'ai besoin de Pro pour le faire, mais j'ai essayé sur l'ordinateur de mon frère qui a installé Pro et cela fonctionne.
TheBird956
1
Pour définir le déclencheur pour programmer / traiter la sortie / terminaison / fermeture au lieu de démarrer / créer, ce XML pour le filtre d'événements a fonctionné pour moi: <QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (band(Keywords,9007199254740992)) and (EventID=4689)]] and *[EventData[(Data='PATH TO THE DESIRED EXE')]] </Select> </Query> </QueryList>
V. Rubinetti
0

Je suis sûr que la réponse de Paul ci-dessus pourrait fonctionner pour la plupart des gens, mais pour une raison quelconque, je n'ai pas pu le faire fonctionner avec mon programme.

Lors de la spécification du chemin d'accès pour Notepad.exe, la tâche a été créée avec succès; lorsque j'ai changé le chemin vers celui du programme que j'avais l'intention d'utiliser, j'ai toujours eu une An event filter for a trigger is not validerreur en appuyant sur OK à la fin de la création de la tâche. Considérez que le filtre d'événements ressemble exactement à celui de Paul (je l'ai généré moi-même en suivant sa procédure) à l'exception que mon programme se trouve dans le dossier Program Files (x86).

J'ai finalement résolu mon problème en installant un logiciel externe, Bill's Process Manager . Félicitations à cette réponse StackExchange pour cela.

alexlomba87
la source