Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизКак программно узнать %system root%???? Найти похожие ветки
← →
Killus © (2005-01-27 17:04) [0]Собственно тема интересует!
← →
Developerr (2005-01-27 17:07) [1]{ **** UBPFD *********** by delphibase.endimus.com ****
>> Как найти системные каталоги...
Ищем системные каталоги через реестр. Функция использует только один модуль - Windows.pas. Полезно для создателей программ на чистом API.
Зависимости: Windows
Автор: LENIN INC, fuck2all@ukr.net, Kiev
Copyright: (C) 2003 by LENIN INC, http://lenininc.narod.ru
Дата: 22 февраля 2003 г.
***************************************************** }
//Находим системные каталоги
{ Параметры ShellPath следующие:
Desktop - C:\WINDOWS\Рабочий стол
Templates - C:\WINDOWS\ShellNew
AppData - C:\WINDOWS\Application Data
Start Menu - C:\WINDOWS\Главное меню
Programs - C:\WINDOWS\Главное меню\Программы
Startup - C:\WINDOWS\Главное меню\Программы\Автозагрузка
Fonts - C:\WINDOWS\Fonts
SendTo - C:\WINDOWS\SendTo
Recent - C:\WINDOWS\Recent
Favorites - C:\WINDOWS\Избранное
Cache - C:\WINDOWS\Temporary Internet Files
Cookies - C:\WINDOWS\Cookies
History - C:\WINDOWS\History
NetHood - C:\WINDOWS\NetHood
Personal - C:\Мои документы
PrintHood - C:\WINDOWS\PrintHood
Local AppData - C:\WINDOWS\Local Settings\Application Data
My Pictures - C:\Мои документы\Мои рисунки
Administrative Tools - C:\WINDOWS\Главное меню\Программы\Администрирование }
function ShellDir(ShellPath: String): string;
var
Handle: HKEY;
DataType, DataSize: DWORD;
begin
if RegOpenKeyEx(HKEY_CURRENT_USER, PChar("SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"),
0, KEY_QUERY_VALUE, Handle) = ERROR_SUCCESS then
if RegQueryValueEx(Handle, PChar(ShellPath), nil, @DataType, nil, @DataSize) = ERROR_SUCCESS then
begin
SetString(Result, nil, DataSize-1);
RegQueryValueEx(Handle, PChar(ShellPath), nil, @DataType, PByte(@Result[1]), @DataSize);
//Если нет косой черты - добавляем
if (Result <> "") and (Result[Length(Result)] <> "\") then Result := Result + "\";
end else Result := "";
RegCloseKey(Handle);
end;
← →
Amoeba © (2005-01-27 17:08) [2]GetSystemDirectory
← →
Юрий Зотов © (2005-01-27 17:10) [3]GetWindowsDirectory
← →
Killus © (2005-01-27 17:20) [4]Всем огромное спасибо! Тема закрыта!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c