Форум: "WinAPI";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];
ВнизКаталог пользователя Найти похожие ветки
← →
Turalyon (2002-05-21 14:24) [0]Приветствую всех.
Возникла проблемма - необходимо получить имя каталога, в котором хранится профиль пользователя, вошедшего в сеть. Это необходимо для того, что бы программа могла сохранять на диск какую-то информацию, а если пользователь не администратор то в системные каталоги не сохранишь - прав не хватает. А в каталоге с профилем пользователя у данного пользователя есть все права.
Подскажите если ето знает.
← →
Turalyon (2002-05-21 14:56) [1]А если перефразировать, то можно спросить так - в какой каталог у юзера есть железно права на запись в Win2k
← →
Anatoly Podgoretsky (2002-05-21 15:12) [2]Железно, ни на какой, а так обычно на свой, но он не обязательно как нибудь зарегистрирован, точнее как правило нет.
Проще пересмотреть интерфейс программы, хранить имя каталога в системе, а каталог укажет пользователь
← →
Turalyon (2002-05-21 15:21) [3]Дело в том, что программа работает "незаметно" для прользователя. И с вводом католога пользователем никак нельзя. А по поводу никакой ну почему... вот например при входе в сеть пользователем в W2K создается каталог c:\Documents and Settings\<Имя пользователя>\, и у поьзователя есть все права на запись в этот католог. Только я вот не знаю всегда ли это именно в этом каталоге записываются все параметры пользователя...
← →
Anatoly Podgoretsky (2002-05-21 15:33) [4]У меня такого каталога нет, нет также других специальных каталогов.
Нескромный вопрос, это почему же нельзя спрашивать у пользователя?
← →
SEM (2002-05-21 15:35) [5]Все настройки пользователя пишутся там + HK_CURRENT_USER соответственно, но имя каталога может быть разным, например: User = Ivanov
Профиль может быть:
1. Ivanov
2. Ivanov.domenname
← →
Turalyon (2002-05-21 15:46) [6]>Anatoly Podgoretsky ©
Пользователь вообще не должен знать, что у него запущена эта программа. А какая ОС стоит у вас на машине?
>SEM ©
Там, это в том каталоге, который я написал? А он всегда расположен на диске C: или он находится там где ОС стоит? Мне реально не нужни параметры пользователя мне нужна только папка, в которую он может записать что нить...
← →
Дмитрий Баранов (2002-05-21 15:55) [7]SHGetFolderLocation
SHGetSpecialFolderLocation
← →
Игорь Шевченко (2002-05-21 16:05) [8]В дополнение:
SHGetFolderPath
SHGetSpecialFolderPath
В качестве результата выдают полный путь :-)
С уважением,
← →
Turalyon (2002-05-21 16:12) [9]>Дмитрий Баранов & Игорь Шевченко ©
Простите великодушно... но хелп ничего не знает про
SHGetFolderLocation
SHGetFolderPath
Это из каких модулей процедуры?
← →
Дмитрий Баранов (2002-05-21 16:53) [10]То ли из ShellApi, то ли из ShellObj. Про них знает msdn.microsoft.com
← →
Turalyon (2002-05-22 08:37) [11]Полазил по MSDN - в Requirements к функциям написана что они для Windows CE OS. В общем в своем модуле ShellApi я не нашел ее. Можно как то с этим бороться?
← →
Дмитрий Баранов (2002-05-22 10:29) [12]Блин, вопрос яйца выеденного не стоит :))
1) Для CE существует отдельный раздел документации
2)
uses ShellApi, ShlObj, COmObj, ActiveX;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var pidl: PItemIdList;
Desktop: IShellFolder;
Path: array[0..1028] of char;
begin
CoInitialize(0);
ShGetSpecialFolderPath(Self.handle, @Path, $0028 {CSIDL_PROFILE}, FALSE);
ShowMessage(Path);
end;
← →
Turalyon (2002-05-22 13:41) [13]Добрался....
Спасибо всем, поучавствовавшим, особенно Дмитрию Баранову. Ему большая кружка пива :). Ох что то меня в оффтоп понесло.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c