Я согласен с предыдущими комментариями о том, что глобальная информация о состоянии опасна, хотя я могу представить, что она может понадобиться.
Я предлагаю более чистую версию грязного взлома DR, которая не имеет обратной стороны постоянства, как ответ Скамрадта:
Очень маленькое приложение:
У него нет внешнего вида, он не отображается на панели задач.
Задача № 1: Загрузить DLL
Задача № 2: Возьмите командную строку, запустите ее и дождитесь ее завершения.
Задача № 3: выгрузить DLL
Задание № 4: Выход.
Установщик:
Он находит ярлыки для основного приложения и изменяет их так, чтобы небольшое приложение запускалось, а исходное местоположение, на которое указывал ярлык, становится первым параметром.
Результаты: DLL остается в памяти только до тех пор, пока работает основное приложение, но не выгружается каждый раз, когда программа ее выгружает.