Можно ли в UAC поднять процесс без запуска другого процесса? - PullRequest
13 голосов
/ 23 июня 2009

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

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

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

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

Ответы [ 2 ]

7 голосов
/ 23 июня 2009

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

2 голосов
/ 23 июня 2009

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

...