![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
местоположение папок 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.