Регистры - доступ и использование вместо WIN.INI
|
Плачет молодая забеременевшая программистка, слезами заливается. Над ней висит мать:
- Да как ты могла? Да как ты посмела? Где твои глаза были?
Программистка:
- А он обещал стать зарегистрированным пользователем...
|
uses
Registry, Windows;
var
TheReg: TRegistry;
KeyName: string;
ValueStr: string;
begin
TheReg := TRegistry.Create;
try
TheReg.RootKey := HKEY_CURRENT_USER;
KeyName := 'Software\MyTinyApp\StartUp';
if TheReg.OpenKey(KeyName, False) then
begin
ValueStr := TheReg.ReadString('WorkPath');
TheReg.CloseKey;
end;
finally
TheReg.Free;
end;
end;
|
Также имейте в виду, что корректное место для сохранения пути к вашему
приложению (EXE-файлу) в регистрах Win95 находится по адресу:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\AppPaths\MYAPP.EXE
|
Сохраните полный путь к вашему приложению как значение по умолчанию в этом
ключе.
Regstr.pas определяет константу для этого пути (...\App Paths\) как
REGSTR_PATH_APPPATHS.
Сохранение полного пути к вашему приложению (EXE-файлу) позволит пользователю
запустить его, просто набрав MYAPP (зарегистрированное имя) в стартовом меню
Start|Run. Вот пример, регистрирующий путь к вашему приложению:
uses
Registry, Regstr;
var
TheReg: TRegistry;
KeyName: string;
begin
TheReg := TRegistry.Create;
try
{Проверяем установку AppPath и при необходимости корректируем}
TheReg.RootKey := HKEY_LOCAL_MACHINE;
KeyName := REGSTR_PATH_APPPATHS + ExtractFileName(Application.ExeName);
if TheReg.OpenKey(KeyName, True) then
begin
if CompareText(TheReg.ReadString(''), Application.ExeName) <> 0 then
TheReg.WriteString('', Application.ExeName);
TheReg.CloseKey;
end;
finally
TheReg.Free;
end;
end;
|
|