@wenzeslaus
Котик у которого лапки

Как автоматически запускать приложение, при запуске другого приложения?

Мне нужно сделать так, что б любая программа(допустим блокнот) запускалась вместе с другой любой программой. Важно, что бы это не при запуске какого либо скрипта. Конкретизирую свои мысли смоделировав ситуацию: Пользователь открывает браузер и вместе с ним запускается иная программа(допустим блокнот). Каким образом можно это реализовать?
  • Вопрос задан
  • 1659 просмотров
Решения вопроса 1
niknils
@niknils
системный администратор, python-разработчик
немножко поправляя Wataru, это можно сделать не только имея сервис.

либо действительно делать сервис (описание пакетного файла):
ярлык запуска пакетного сценария в папке автозапуска, то есть в "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup", который настроен на свёрнутое окно и который вызывает скрытие окна, допустим, посредством PowerShell:
%WinDir%\System32\WindowsPowerShell\v1.0\PowerShell.exe -windowstyle hidden
а затем делает свои дела в цикле (tasklist | find /i "...")

либо сделать это в стиле разработчиков ПО, допустим, на примерах ConEmu, Clink или AkelPad - создать в реестре запись о "переадресации" исполняемого файла для указанного исполняемого файла. (можно сделать запуск пакетного сценария для запуска программ, а он будет запускаться таким методом)

первый метод требует активный процесс, но, скорее всего, сработает (так как люди иногда ограничивают доступ к reg.exe и regedit.exe), а второй метод не требует активный процесс (разовый, по случаю), но может потребовать продуманного кода. собственно, для запуска более одной программы методом редактирования реестра требуется сценарий, а потому, полагаю, без сценариев никак.

кстати, если на то пошло, то можно заняться извращениями в стиле копирования cmd.exe в, к примеру, папку %Temp% изменив и использования её вместо cmd.exe (можно даже получать PID родительского cmd.exe и завершать процесс cmd.exe из дочернего процесса с другим именем исполняемого файла). также можно на python используя subprocess или os запускать процессы, а через pyinstaller сделать исполняемый (.exe) файл. правда, такая программа будет медленной, но она будет иметь в TaskMgr, к примеру, свою (кастомную) иконку и название исполняемого файла.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Это можно сделать токлько имея какую-то программу постоянно запущеной в системе. Нужно мониторить запущенные процессы и, если запустился процесс-тригер, запускать вашу нагрузку.

Можно повесить хуку на создание процессов в explorer.exe

P.S. за создание вирусов действует уголовная статья 273.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы