Программно назначить права доступа к сетевой службе для папки с помощью Delphi 2010 - PullRequest
1 голос
/ 30 июля 2011

Мне нужна следующая информация

  1. Как получить папку «C: \ Document and settings \ Network service» операционной системы XP программно от Delphi2010?
  2. Что является эквивалентом вышеуказанной папки в ОС Vista и Win7?
  3. Мне нужно настроить сетевой сервис " полные права учетной записи для указанной папки через Delphi 2010

Любая помощь по вышеуказанному высоко ценится! Спасибо в Adv Ven

1 Ответ

0 голосов
/ 30 июля 2011

Вот, пожалуйста:

1) Для WinXP: используйте API SHGetFolderPath с CSIDL CSIDL_PROFILE, чтобы получить папку своего профиля (например, «C: \ Documents and Settings \ Steve»), удалите свое собственное имя(часть Стива) и добавьте NetworkService (давая вам «C: \ Documents and Settings \ NetworkService»).Кажется, нет прямого способа получить папку «Documents and Settings».(Пример использования SHGetFolderPath: http://delphi.about.com/od/kbwinshell/a/SHGetFolderPath.htm)

2) Для Win7 местоположение изменилось на «% windir% \ ServiceProfiles \ NetworkService», обычно это «C: \ Windows \ ServiceProfiles \ NetworkService».Не знаю, для Vista, может быть то же самое.

3) Кажется, что самый простой способ - описанный здесь подход: Создание папки / файла и установка разрешений

Вы можете запустить программу CACLS через API ShellExecute.Смотрите пример использования здесь: http://delphi.about.com/od/windowsshellapi/a/executeprogram.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...