Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

местоположение папок Windows


Borgir ©   (2003-08-13 07:14:00) 

Уважаемые мастера, не подскажите ли как узнать местоположение (то есть путь) различных папок Windows, например "Мои документы".
Желательно, чтобы это работало в различных версиях Windows (98, 2000, XP)


Крот   (2003-08-13 16:30:00) [1]


> TheOldMen (13.08.03 15:54) [2]


Я думаю, first_aid выдал более корректный способ

1. Наверняка SHGetSpecialFolderPath и так роется в реестре
2 Функция SHGetSpecialFolderPath будет работать даже если в
будущих версиях Windows не будет реестра вообще.


TheOldMen   (2003-08-13 15:54:00) [2]

Следующий пример демонстрирует получение списка стандартных директорий оболочки. Список директорий содержит в себе следующее: Favorites, Desktop, Programs, Fonts, SendTo, Start
Menu, Templates, Startup, Recent and NetHood.

Пример:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
reg : TRegistry;
ts : TStrings;
i : integer;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.LazyWrite := false;
reg.OpenKey(
"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders",
false);
ts := TStringList.Create;
reg.GetValueNames(ts);
for i := 0 to ts.Count -1 do begin
Memo1.Lines.Add(ts.Strings[i] +
" = " +
reg.ReadString(ts.Strings[i]));
end;
ts.Free;
reg.CloseKey;
reg.free;
end;


first_aid   (2003-08-13 07:37:00) [3]

Пользуй AIP функцию SHGetSpecialFolderPath.


Наверх

Титульная страница Поиск, карта сайта Написать письмо