Возможно ли, чтобы UAC поднял процесс без запуска другого процесса

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

Все примеры, которые я могу найти в Интернете, выглядят как ShellExecute "runas", который создает новый процесс с повышенными привилегиями.

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

Спасибо за любой ввод.

Ответ 1

Нет, вы не можете поднять существующий процесс. Вы правы - вы начали новый приподнятый процесс и добились того, чтобы выполнить эту работу за вас.

Ответ 2

Еще один возможный ответ (который по сути является тем же самым ответом) заключается в том, чтобы иметь службу, которая работает как LocalSystem, которая выполняет повышенную работу для вас.