У меня есть приложение (Utility.exe), которое отказывается выполнять определенные операции, если обнаруживает, что запущен другой процесс (Target.exe). Я не уверен в методе обнаружения, который он использует. Это может быть периодический опрос списка процессов, и если имя процесса соответствует определенным критериям, приложение блокирует определенные функции.

  • Если я переименую Target.exe >> FooBar.exe и запусту FooBar.exe, то оба инструмента будут работать одновременно (т.е. функции Utility.exe не блокируются)
  • Однако Target.exe периодически обновляется из удаленного местоположения и перезапускает процесс с именем Target.exe, после чего Utility.exe перестает функционировать - этот хак не полностью решает мою проблему.
  • У меня нет контроля над исходным кодом Target.exe или Utility.exe

Я хочу запустить оба приложения одновременно.

Есть ли способ, которым я могу помешать Utility.exe обнаруживать Target.exe, что устраняет необходимость переименовывать этот процесс?

1 ответ1

1

Запустите foobar.exe и создайте сценарий пакетного файла следующим образом:

@echo off
:loop
taskkill /PID "target.exe"
goto loop

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

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