Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.008 c
14-95504
Neox
2002-07-01 23:31
2002.07.29
Проверка правописания online


6-95471
aaZ
2002-05-19 23:33
2002.07.29
ServerSocket


4-95608
garic
2002-05-22 11:10
2002.07.29
bs_flat


8-95453
Dorex
2002-03-22 11:16
2002.07.29
Как разбить BMP на квадраты?


1-95428
Otehr_Gray
2002-07-15 11:45
2002.07.29
Вместо Delphi - два окошка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский