Вам необходимо установить его как сервис.Он будет работать как СИСТЕМА, которая имеет полные права администратора.В вашем приложении необходимо создать несколько хуков, чтобы реагировать на события запуска, остановки и перезапуска.
Если вам все равно, нужно ли программе реагировать на сервисные события, вы можете просто использовать SC.exe или Srvinstw.exe для установки любого исполняемого файла в качестве службы. \
Редактировать Не думаю, что вы можете сделать это.Чтобы запустить исполняемый файл с повышенными правами, он должен иметь цифровую подпись Microsoft.Возможно, вы сможете использовать трюк , чтобы сделать исполняемый файл DLL и запустить его с помощью rundll32.exe (который имеет повышенные разрешения и подписан MS).Я не думаю, что Microsoft хочет, чтобы что-нибудь работало тихо, когда UAC включен.