So starten Sie ein Programm, wenn ein anderes gestartet wird


14

Ich möchte, dass jedes Mal ein Programm gestartet wird, wenn ein anderes gestartet wird.

Hier ein Beispiel: Jedes Mal, wenn ich Google Chrome starte, möchte ich, dass iTunes gleichzeitig gestartet wird.

Außerdem soll es gestartet werden, wenn ich in meinem Browser auf einen Link klicke, der ein Programm startet (z. B. "In iTunes auf der iTune-Website anzeigen").

Ich möchte nicht mit einer .bat-Datei zu tun haben.

Ich laufe unter Windows 7


Könntest Du das erläutern. Die erste Option ist, dass beim Öffnen von Chrome auch iTunes gestartet wird. Aber die zweite Option: Wenn Sie auf einen Link klicken, der iTunes öffnet, möchten Sie, dass auch etwas anderes geöffnet wird?
Paul

Das sind nur Beispiele, im Grunde möchte ich mehrere Programme starten, wenn ich das eine oder andere Programm starten möchte
TheBird956

Antworten:


19

Sie könnten wahrscheinlich bestimmte Paare von Apps einrichten, die mithilfe der Registrierung ausgeführt werden sollen, und den Umgang mit Mimetypen ändern. Eine andere allgemeinere und weitaus komplexere Möglichkeit ist die Verwendung des Taskplaners. Der Taskplaner kann eine App starten, die auf verschiedenen Arten von Triggern basiert, einschließlich Ereignisprotokolleinträgen.

Wir müssen also nur sicherstellen, dass bei jedem Start einer Anwendung ein Ereignis erstellt wird, und dann eine geplante Aufgabe erstellen, die bei jeder Protokollierung des Ereignisses gestartet wird.

Aktivieren Sie die Protokollierung "Anwendungsstart"

  1. Starten Sie und geben Sie secpol.mscin das Feld Ausführen ein
  2. Navigieren Sie zu Lokale Richtlinien / Überwachungsrichtlinie
  3. Doppelklicken Sie auf Prozessverfolgung überwachen und aktivierenSuccess

Wenn Sie jetzt eine Anwendung starten und in der Ereignisanzeige / im Sicherheitsprotokoll nachsehen, wird bei jedem Start einer Anwendung ein Ereignis zur Prozesserstellung angezeigt4688 .

Erstellen Sie eine geplante Aufgabe basierend auf dem Auslöser

  1. Öffnen Sie den Taskplaner und erstellen Sie eine neue Aufgabe
  2. Geben Sie der Aufgabe auf der Registerkarte Allgemein einen Namen
  3. Erstellen Sie auf der Registerkarte Trigger einen neuen Trigger und wählen Sie Als Trigger Ein Ereignis aus
  4. Wählen Sie Benutzerdefiniert und klicken Sie auf Ereignisfilter bearbeiten
  5. Ändern Sie die Filtereinstellungen wie folgt:

Aufgabenfilter

Wechseln Sie nun zur Registerkarte XML und aktivieren Sie die Bearbeitungsabfrage manuell

Sie werden Folgendes sehen

<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>

Jetzt müssen Sie nur noch die Anwendung hinzufügen, die den Auslöser auslösen soll. Zum Beispiel verwendet dieser notepad.exeals Auslöser:

<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>

Klicken Sie Okdazu, Okum das Trigger-Dialogfeld zu schließen.

Wählen Sie nun die Registerkarte Aktion , erstellen Sie eine neue Aktion, Start a Programund navigieren Sie zu der App, die Sie zusammen mit der Triggeranwendung starten möchten.


Ich habe nichts mit dem Namen secpol.msc. Ich habe einen kleinen Reserach gemacht und ich denke, das liegt daran, dass er in Windows 7 Home Premium nicht verfügbar ist. Gibt es eine andere Art und Weise?
TheBird956

Die Prüfungsrichtlinie muss geändert werden, damit dies funktioniert, und sie fehlt in W7HP. Es gibt einige Anleitungen zur Installation von gpedit.msc auf W7HP, die Sie möglicherweise ausprobieren möchten. Sie können die Überwachungsrichtlinie auch damit bearbeiten, inComputer Configuration/Windows Settings/Security Settings/Audit Policy
Paul

@ TheBird956 Hast du es geschafft, dass es funktioniert?
Paul

Ich habe nicht die richtige Windows-Version. Ich glaube, ich brauche Pro, um das zu tun, aber ich habe es auf dem Computer meines Bruders versucht, auf dem Pro installiert ist und der funktioniert.
TheBird956

1
Um den Auslöser auf Programmieren / Beenden / Beenden / Beenden / Schließen anstelle von Starten / Erstellen zu setzen, funktionierte dieses XML für den Ereignisfilter für mich: <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

Ich bin mir sicher, dass die obige Antwort von Paulus für die meisten Menschen funktionieren könnte, aber aus irgendeinem Grund konnte ich sie nicht dazu bringen, mit meinem Programm zu funktionieren.

Bei der Angabe des Pfads für Notepad.exe wurde die Aufgabe erfolgreich erstellt. Wenn ich den Pfad zu dem Programm geändert habe, das ich verwenden wollte, wurde immer eine An event filter for a trigger is not validFehlermeldung angezeigt, wenn ich am Ende der Aufgabenerstellung auf OK drückte. Beachten Sie, dass der Ereignisfilter genau wie der von Paul aussieht (ich habe ihn selbst gemäß seiner Prozedur generiert), mit der Ausnahme, dass mein Programm im Ordner Programme (x86) gespeichert ist.

Ich löste mein Problem schließlich durch die Installation einer externen Software, Bills Process Manager . Ein großes Lob an diese StackExchange-Antwort dafür.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.