Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Регистры - доступ и использование вместо 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;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay