Jak uruchomić program po uruchomieniu innego

14

Chcę, aby program uruchamiał się za każdym razem, gdy inny się uruchamia.

Oto przykład: za każdym razem, gdy uruchamiam Google Chrome, chcę, aby iTunes uruchamiał się w tym samym czasie.

Chcę też, aby zaczął się po kliknięciu łącza w przeglądarce, która uruchamia program (np. „Wyświetl w iTunes na stronie iTune).

Nie chcę mieć do czynienia z plikiem .bat.

Korzystam z systemu Windows 7

TheBird956
źródło
Możesz wyjaśnić. Pierwszą opcją jest to, że jeśli otworzysz Chrome, iTunes też się uruchomi. Ale druga opcja - kiedy klikniesz link, który otwiera iTunes, chcesz też otworzyć coś innego?
Paul
To tylko przykłady, w zasadzie chcę uruchomić wiele programów, gdy chcę uruchomić jeden lub inny program, który chce go uruchomić
TheBird956

Odpowiedzi:

19

Prawdopodobnie możesz skonfigurować określone pary aplikacji do uruchamiania przy użyciu rejestru i zmieniać to, co dotyczy typów mimetycznych. Jednak innym bardziej ogólnym i znacznie bardziej złożonym sposobem jest użycie Harmonogramu zadań. Harmonogram zadań może uruchomić aplikację w oparciu o różne typy wyzwalaczy, w tym wpisy dziennika zdarzeń.

Wszystko, czego potrzebujemy, to upewnić się, że zdarzenie jest tworzone przy każdym uruchomieniu aplikacji, a następnie utwórz zaplanowane zadanie, które będzie uruchamiane przy każdym logowaniu zdarzenia.

Włącz rejestrowanie „start aplikacji”

  1. Rozpocznij i wejdź secpol.mscw pole Uruchom
  2. Przejdź do lokalnych zasad / zasad audytu
  3. Kliknij dwukrotnie Śledź proces śledzenia i włączSuccess

Teraz, jeśli uruchomisz dowolną aplikację, jeśli spojrzysz na Podgląd zdarzeń / Dziennik bezpieczeństwa, zobaczysz zdarzenie Tworzenie procesu za4688 każdym razem, gdy aplikacja zostanie uruchomiona.

Utwórz zaplanowane zadanie na podstawie wyzwalacza

  1. Otwórz Harmonogram zadań i utwórz nowe zadanie
  2. Na karcie Ogólne podaj nazwę zadania
  3. Na karcie Wyzwalacze utwórz nowy wyzwalacz i wybierz opcję Zdarzenie jako wyzwalacz
  4. Wybierz opcję Niestandardowa i kliknij opcję Edytuj filtr zdarzeń
  5. Zmień ustawienia filtra w następujący sposób:

Filtr zadań

Teraz przejdź do karty XML i ręcznie włącz edycję zapytania

Zobaczysz następujące

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

Teraz wystarczy dodać aplikację, która ma powodować wyzwalacz. Na przykład ten używa notepad.exejako wyzwalacza:

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

Kliknij Ok, Okaby to zrobić , a następnie zamknij okno dialogowe wyzwalacza.

Teraz wybierz kartę Akcja i utwórz nową akcję, czyli Start a Programprzejdź do aplikacji, którą chcesz uruchomić razem z aplikacją wyzwalacza.

Paweł
źródło
Nie mam nic o nazwie secpol.msc. Zrobiłem małą ponowną próbę i myślę, że to dlatego, że nie jest dostępna w Windows 7 Home Premium. Czy jest inny sposób?
TheBird956
Aby to zadziałało, należy zmienić zasady audytu i nie ma go w W7HP. Istnieje kilka przewodników dotyczących instalacji gpedit.msc na W7HP, które możesz wypróbować. Za pomocą tego możesz również edytować zasady audytu wComputer Configuration/Windows Settings/Security Settings/Audit Policy
Paul
@ TheBird956 Czy udało ci się go uruchomić?
Paul
Nie mam poprawnej wersji systemu Windows. Myślę, że potrzebuję Pro, aby to zrobić, ale wypróbowałem na komputerze mojego brata, który ma zainstalowany Pro i działa.
TheBird956
1
Aby ustawić wyzwalacz do programowania / zakończenia procesu / zakończenia / zamknięcia zamiast uruchamiania / tworzenia, ten XML dla filtru zdarzeń działał dla mnie: <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

Jestem pewien, że powyższa odpowiedź Paula może zadziałać dla większości ludzi, jednak z jakiegoś powodu nie mogłem zmusić jej do pracy z moim programem.

Podczas określania ścieżki do Notepad.exe zadanie zostało pomyślnie utworzone; kiedy zmieniłem ścieżkę na program, którego zamierzałem używać, zawsze pojawiał się An event filter for a trigger is not validbłąd po naciśnięciu OK na końcu tworzenia zadania. Weź pod uwagę, że filtr zdarzeń wygląda dokładnie tak, jak Paul (wygenerowałem go sam po jego procedurze), z tym wyjątkiem, że mój program sito w folderze Program Files (x86).

W końcu rozwiązałem problem, instalując oprogramowanie zewnętrzne, Bill's Process Manager . Uznanie dla tej odpowiedzi Stack Exchange Network dla niego.

alexlomba87
źródło