Как запустить программу при запуске другой

14

Я хочу, чтобы программа запускалась каждый раз, когда запускается другая.

Вот пример: каждый раз, когда я запускаю Google Chrome, я бы хотел, чтобы iTunes запускался одновременно.

Кроме того, я хочу, чтобы он запускался при нажатии на ссылку в моем браузере, которая запускает программу (например, «просмотр в iTunes на веб-сайте iTune).

Я не хочу иметь дело с файлом .bat.

Я работаю на Windows 7

TheBird956
источник
Можешь уточнить. Первый вариант заключается в том, что если вы откроете Chrome, itunes запускается тоже. Но второй вариант - когда вы нажимаете на ссылку, которая открывает itunes, вы хотите, чтобы что-то еще открылось?
Пол
Это всего лишь примеры, в основном я хочу запустить несколько программ, когда я хочу запустить ту или иную программу, которая хочет ее запустить
TheBird956

Ответы:

19

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

Поэтому все, что нам нужно, это убедиться, что событие создается при каждом запуске приложения, а затем создавать запланированное задание, которое запускается при каждом регистрации события.

Включить ведение журнала

  1. Запустите и введите secpol.mscв поле «Выполнить»
  2. Перейдите к локальной политике / политике аудита
  3. Аудит отслеживания двойного клика и включениеSuccess

Теперь, если вы запустите какое-либо приложение, если вы посмотрите в Event Viewer / Security Log, вы увидите событие создания процесса при4688 каждом запуске приложения.

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

  1. Откройте планировщик заданий и создайте новое задание
  2. На вкладке « Общие» укажите название задачи
  3. На Триггеры вкладке, создать новый триггер, и выберите На событии в качестве триггера
  4. Выберите Custom и нажмите Edit Event Filter.
  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
Paul
@ 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ошибку при нажатии OK в конце создания задачи. Учтите, что фильтр событий выглядит точно так же, как фильтр Пола (я сгенерировал его сам, следуя его процедуре), за исключением того, что моя программа размещена в папке Program Files (x86).

В конце концов я решил свою проблему, установив внешнее программное обеспечение, Process Manager Билла . Престижность этого StackExchange ответа на него.

alexlomba87
источник