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