Я бы предложил запустить вторую копию вашего приложения с повышенными привилегиями .. затем использовать SendMessage и WM_COPYDATA (или какое-то определенное пользователем смещение выше WM_USER), чтобы отправить сообщение / сообщения новому экземпляру с указанием, что делать ( передайте эти аргументы, скажите, где сосредоточиться и т. д.). Или используйте другую форму IPC (межпроцессное взаимодействие: сообщения Windows, именованные каналы, файлы с отображением в памяти, tcp / ip и т. Д.)
Таким образом, вы можете сохранить имя приложения, подпись, местоположение программы ... все выглядит нормально для пользователя.
Вы можете зайти так далеко, что запустили форму из процесса без повышенных прав и обрабатывать данные только на повышенном уровне - передавая данные через ваш выбор IPC.