![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Каталог пользователя [D6, Win2k]
Turalyon © (2002-05-21 14:24:00)Приветствую всех.
Возникла проблемма - необходимо получить имя каталога, в котором хранится профиль пользователя, вошедшего в сеть. Это необходимо для того, что бы программа могла сохранять на диск какую-то информацию, а если пользователь не администратор то в системные каталоги не сохранишь - прав не хватает. А в каталоге с профилем пользователя у данного пользователя есть все права.
Подскажите если ето знает.
Turalyon (2002-05-22 13:41:00) [1]Добрался....
Спасибо всем, поучавствовавшим, особенно Дмитрию Баранову. Ему большая кружка пива :). Ох что то меня в оффтоп понесло.
Дмитрий Баранов (2002-05-22 10:29:00) [2]Блин, вопрос яйца выеденного не стоит :))
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 08:37:00) [3]Полазил по MSDN - в Requirements к функциям написана что они для Windows CE OS. В общем в своем модуле ShellApi я не нашел ее. Можно как то с этим бороться?
Дмитрий Баранов (2002-05-21 16:53:00) [4]То ли из ShellApi, то ли из ShellObj. Про них знает msdn.microsoft.com
Turalyon (2002-05-21 16:12:00) [5]>Дмитрий Баранов & Игорь Шевченко ©
Простите великодушно... но хелп ничего не знает про
SHGetFolderLocation
SHGetFolderPath
Это из каких модулей процедуры?
Игорь Шевченко (2002-05-21 16:05:00) [6]В дополнение:
SHGetFolderPath
SHGetSpecialFolderPath
В качестве результата выдают полный путь :-)
С уважением,
Дмитрий Баранов (2002-05-21 15:55:00) [7]SHGetFolderLocation
SHGetSpecialFolderLocation
Turalyon (2002-05-21 15:46:00) [8]>Anatoly Podgoretsky ©
Пользователь вообще не должен знать, что у него запущена эта программа. А какая ОС стоит у вас на машине?
>SEM ©
Там, это в том каталоге, который я написал? А он всегда расположен на диске C: или он находится там где ОС стоит? Мне реально не нужни параметры пользователя мне нужна только папка, в которую он может записать что нить...
SEM (2002-05-21 15:35:00) [9]Все настройки пользователя пишутся там + HK_CURRENT_USER соответственно, но имя каталога может быть разным, например: User = Ivanov
Профиль может быть:
1. Ivanov
2. Ivanov.domenname
Anatoly Podgoretsky (2002-05-21 15:33:00) [10]У меня такого каталога нет, нет также других специальных каталогов.
Нескромный вопрос, это почему же нельзя спрашивать у пользователя?
Turalyon (2002-05-21 15:21:00) [11]Дело в том, что программа работает "незаметно" для прользователя. И с вводом католога пользователем никак нельзя. А по поводу никакой ну почему... вот например при входе в сеть пользователем в W2K создается каталог c:\Documents and Settings\<Имя пользователя>\, и у поьзователя есть все права на запись в этот католог. Только я вот не знаю всегда ли это именно в этом каталоге записываются все параметры пользователя...
Anatoly Podgoretsky (2002-05-21 15:12:00) [12]Железно, ни на какой, а так обычно на свой, но он не обязательно как нибудь зарегистрирован, точнее как правило нет.
Проще пересмотреть интерфейс программы, хранить имя каталога в системе, а каталог укажет пользователь
Turalyon (2002-05-21 14:56:00) [13]А если перефразировать, то можно спросить так - в какой каталог у юзера есть железно права на запись в Win2k