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

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

путь к системным папкам [D7, WinXP]


maxon ©   (2003-04-22 13:50:00) 

как мне определить в каком разделе сидит папка program files или windows


Shurik   (2003-04-27 06:10:00) [1]

function GetWindowsFolder: string;
var
Required: Cardinal;
begin
Result := "";
Required := GetWindowsDirectory(nil, 0);
if Required <> 0 then
begin
SetLength(Result, Required);
GetWindowsDirectory(PChar(Result), Required);
StrResetLength(Result);
end;
end;

function GetWindowsSystemFolder: string;
var
Required: Cardinal;
begin
Result := "";
Required := GetSystemDirectory(nil, 0);
if Required <> 0 then
begin
SetLength(Result, Required);
GetSystemDirectory(PChar(Result), Required);
StrResetLength(Result);
end;
end;

function GetWindowsTempFolder: string;
var
Required: Cardinal;
begin
Result := "";
Required := GetTempPath(0, nil);
if Required <> 0 then
begin
SetLength(Result, Required);
GetTempPath(Required, PChar(Result));
StrResetLength(Result);
Result := PathRemoveSeparator(Result);
end;
end;

function GetSpecialFolderLocation(const Folder: Integer): string;
var
FolderPidl: PItemIdList;
begin
if Succeeded(SHGetSpecialFolderLocation(0, Folder, FolderPidl)) then
begin
Result := PidlToPath(FolderPidl);
PidlFree(FolderPidl);
end
else
Result := "";
end;

в последней функе на вход - любая константа CSIDL_XXX (полный список в модуле ShlObj)


REA   (2003-04-22 14:05:00) [2]

SHGetSpecialFolderPath


Zz_   (2003-04-22 14:00:00) [3]

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ProgramFilesDir


REA   (2003-04-22 13:59:00) [4]

GetWindowsDirectory, GetSystemDirectory


Наверх

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