Поддержка / Donate
 

WebMoney

Яндекс.Деньги

SMS.Копилка
Деньги@Mail.ru
Rupay
E-gold
PayPal

 

Благодарю за поддержку!

Лента RSS - Новости сайта Новости сайта
Лента RSS - Новости форума Новости форума
Добавить в закладки и поделиться Bookmark and Share

 

Архив исходников

 


Automatic translation

 
English German French
Italian Spanish Portuguese
Greece Japan Chinese
  Korean  

  

 

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Регистры - доступ и использование вместо 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
Автор проекта: Акулов Николай



   Rambler's Top100             Яндекс цитирования