Где я могу создать каталог без прав / привилегий администратора?

Я создаю DLL, которая идет со сторонней программой. Независимо от того, имеет ли сторонняя программа права администратора в Windows, я не могу контролировать.

DLL должна создать каталог, но кажется, что CreateDirectory не будет работать, потому что у него нет прав администратора.

Расширение UAC не вариант, потому что я изменяю только DLL, а не стороннюю программу. Я не могу заставить пользователя щелкнуть правой кнопкой мыши на сторонней программе и «Запуск от имени администратора».

(Visual C ++ 2010)

РЕДАКТИРОВАТЬ

Я пытаюсь написать C:\ProgramData\, Я получаю этот путь, используя SHGetFolderPath() а также CSIDL_COMMON_APPDATA,

3

Решение

использование CSIDL_APPDATA как корень папка для любых пользовательских каталогов / файлов, в противном случае используйте CSIDL_COMMON_APPDATA вместо. В любом случае, создайте свою собственную подпапку под выбранным корень для вашего приложения / DLL, как корень сама папка защищена от записи в. Как правило, установщик должен создать вашу подпапку с соответствующими правами, а затем приложение / DLL может получить к ней доступ по мере необходимости.

5

Другие решения

Прочитайте TEMP переменная окружения и использовать результат для создания временных файлов и / или каталогов. использование APPDATA для постоянных.

Обратите внимание, что по крайней мере APPDATA зависит от пользователя.

1

Похожие вопросы
Добавить ответ
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Нажимая кнопку «Отправить», я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности этого сайта.