Мне нужно написать ярлык в папке автоматического запуска для всех пользователей.с программным обеспечением получения специального разрешения на запись в папку с использованием управления доступом пользователей в Windows 7 и Vista
Сценария является то, что пользователь с правами администратора, через диалог конфигурации приложения, должен быть в состоянии установить приложение для автоматического запуска для всех обычных пользователей, когда они войти.
Я получаю папку автозагрузки используя
SHGetSpecialFolderPath(NULL, startFolderPath, CSIDL_COMMON_STARTUP, FALSE)
, но тогда я не имею права на запись в этой папке, даже если вошедший пользователь является частью группы в администраторе в.
Предположим, мне нужно вызвать некоторую функцию API, связанную с управлением учетными записями пользователей (UAC), чтобы попросить зарегистрированного пользователя повысить текущую привилегию.
Это должно работать на Windows XP тоже
Спасибо, я принял UAC за контроль доступа пользователей. Я исправлю его как Контроль учетных записей пользователей в моем первоначальном вопросе. – sergiom
Я не хочу, чтобы мое приложение запускалось как администратор. Я просто хочу повысить привилегии только за короткий промежуток времени, необходимый для создания ярлыка. Я хочу показать окно UAC, чтобы попросить разрешения пользователя изменить защищенные настройки, например, программы установки. – sergiom
Вот что я и говорю. Вещь, которая записывается в реестр, должна быть повышена. Если вы хотите, чтобы поднять, а остальные нет, поместите его в отдельный exe, поместите манифест на него с помощью requireAdministrator и используйте ShellExecute для его запуска. –