Як запустити програму при запуску іншої


12

Я хочу, щоб програма запускалася кожного разу, коли запускається інша.

Ось приклад. Кожного разу, коли я запускаю Google Chrome, я хотів би, щоб iTunes запускався одночасно.

Крім того, я хочу, щоб він почався, коли я натискаю посилання у своєму браузері, що запускає програму (наприклад, "переглянути в iTunes на веб-сайті iTune).

Я не хочу робити з файлом .bat.

Я працюю на Windows 7


Ви можете уточнити. Перший варіант полягає в тому, що якщо ви відкриєте Chrome, він також починається. Але другий варіант - коли ви натискаєте на посилання, яке відкриває itunes, ви хочете ще щось відкрити?
Пол

Це лише приклади, в основному я хочу запустити безглузді програми, коли хочу запустити ту чи іншу програму, яку хоче запустити
TheBird956

Відповіді:


14

Ви, ймовірно, можете налаштувати певні пари програм для запуску за допомогою реєстру та змінити те, що стосується міметиків. Однак ще одним загальним і набагато складнішим є використання Планувальника завдань. Планувальник завдань може запустити додаток на основі різних типів тригерів, включаючи записи журналу подій.

Отже, все, що нам потрібно, - це забезпечити створення події кожного разу, коли програма починається, а потім створити заплановане завдання, яке потрібно запускати щоразу, коли подія реєструється.

Увімкнути журнал "запуск програми"

  1. Почніть і введіть secpol.mscу поле Виконати
  2. Перейдіть до місцевої політики / політики аудиту
  3. Двічі клацніть аудит процесу відстеження та увімкнітьSuccess

Тепер, якщо ви запускаєте будь-яку програму, якщо ви заглянете у переглядач подій / журнал безпеки, ви побачите подія створення процесу4688 кожного разу при запуску програми.

Створення запланованого завдання на основі тригера

  1. Відкрийте планувальник завдань і створіть нове завдання
  2. На вкладці Загальні вкажіть назву завдання
  3. На вкладці " Тригери" створіть новий тригер та виберіть "Подія" як тригер
  4. Виберіть Спеціальний та натисніть Редагувати фільтр подій
  5. Змініть налаштування фільтра наступним чином:

Фільтр задач

Тепер перейдіть на вкладку XML і ввімкніть редагування запиту вручну

Ви побачите наступне

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

Тепер вам просто потрібно додати програму, яку ви хочете викликати тригер. Наприклад, цей використовується notepad.exeяк тригер:

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

Клацніть Okдля цього, а потім Okзакрийте діалогове вікно запуску.

Тепер перейдіть на вкладку Дія та створіть нову дію, тобто Start a Programперейдіть до програми, яку ви хочете запустити разом із тригерною програмою.


У мене немає нічого на ім'я secpol.msc. Я зробив невелику ретрахаргу, і я вважаю, що її немає в Windows 7 Home Premium. Чи є інший спосіб?
TheBird956

Політику аудиту потрібно змінити, щоб вона працювала, і вона відсутня в W7HP. Існує кілька посібників по встановленню gpedit.msc на W7HP, які ви можете спробувати. Ви можете також відредагувати політику аудиту в цьому розділі,Computer Configuration/Windows Settings/Security Settings/Audit Policy
Пол

@ TheBird956 Вам вдалося змусити його працювати?
Пол

У мене немає правильної версії Windows. Я думаю, що для цього мені потрібен Pro, але я спробував на комп'ютері мого брата, у якого встановлений Pro, і він працює.
TheBird956

1
Щоб встановити тригер для програми / виходу / завершення / закриття замість запуску / створення, для мене працював цей XML для фільтра подій: <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>
В. Рубінетті

0

Я впевнений, що відповідь Павла вище може працювати для більшості людей, проте я чомусь не зміг змусити його працювати зі своєю програмою.

Вказуючи шлях для Notepad.exe, Завдання було успішно створено; коли я змінив шлях до тієї програми, яку я мав намір використовувати, я завжди отримував An event filter for a trigger is not validпомилку, коли натискав кнопку ОК в кінці створення завдання. Вважайте, що фільтр подій виглядає точно так само, як Пол (я створив його сам після його процедури) за винятком того, що моя програма знаходилася в папці Файли програм (x86).

Я врешті вирішив свою проблему, встановивши зовнішнє програмне забезпечення, менеджер процесів Білла . Кудо на цю відповідь StackExchange .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.