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


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.