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

Сначала я думал, что смогу сделать это с помощью служб Windows. Службы позволяют мне определять зависимость, но не позволяют программам работать, так как они имеют пользовательский интерфейс. Есть ли какой-то другой способ, чтобы это пошло. Сейчас я использую пакетный скрипт, который вряд ли является хорошим средством для этого, поскольку он вызывает программы только при входе в систему, но не в случае их сбоя.

Я не могу перекомпилировать / отредактировать программы, чтобы заставить их общаться с сервисом.

Эти программы могут запускаться только после входа пользователя в систему. Мне не нужно, чтобы они запускались, если пользователь не вошел в систему.

1 ответ1

0

Я бы сделал это с файлом .bat или аналогичным (хотя вам это не нравится, читайте дальше :)).

Получите ваш пакетный файл, чтобы сначала проверить, запущены ли программы, а если нет, то загрузите, а затем!

@echo off

tasklist /FI "IMAGENAME eq dependantProgram.exe" | find /i "dependantProgram.exe" 
IF ERRORLEVEL 1 start "" "C:\Program Files\dependantProgram.exe"
tasklist /FI "IMAGENAME eq myProgram.exe" | find /i "myProgram.exe" 
IF ERRORLEVEL 1 start "" "C:\Program Files\dependantProgram.exe"

Теперь запустите планировщик задач, когда пользователь входит в систему, и выполняйте каждые X минут.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .