Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Считать значение REG_DWORD из реестра

Delphi , ОС и Железо , Реестр

Считать значение REG_DWORD из реестра

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

uses
   Registry;

 // Read REG_DWORD 
procedure TForm1.Button1Click(Sender: TObject);
 var
   Reg: TRegistry;
   RegKey: DWORD;
   Key: string;
 begin
   Reg := TRegistry.Create;
   try
     Reg.RootKey := HKEY_USERS;
     Key := '.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\URL History';
     if Reg.OpenKeyReadOnly(Key) then
     begin
       if Reg.ValueExists('DaysToKeep') then
       begin
         RegKey := Reg.ReadInteger('DaysToKeep');
         Reg.CloseKey;
         ShowMessage(IntToStr(RegKey));
       end;
     end;
   finally
     Reg.Free
   end;
 end;


 // Write REG_DWORD 
procedure TForm1.Button2Click(Sender: TObject);
 var
   Reg: TRegistry;
   Key: string;
 begin
   Reg := TRegistry.Create;
   try
     Reg.RootKey := HKEY_USERS;
     Key := '.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\URL History';
     if Reg.OpenKey(Key, True) then
     begin
       Reg.WriteInteger('DaysToKeep', 20);
       Reg.CloseKey;
     end;
   finally
     Reg.Free
   end;
 end;

Программа на Delphi, которая взаимодействует с реестром Windows для чтения и записи значений.

Программа использует компонент TRegistry для доступа к реестру. Корневой ключ HKEY_USERS используется как корневой, а конкретный ключ .DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\URL History открывается для чтения и записи.

В процедуре Button1Click, программа читает значение типа REG_DWORD с именем DaysToKeep из реестра. Если значение существует, она отображает сообщение об ошибке, показывающее его значение.

В процедуре Button2Click, программа записывает новое значение типа REG_DWORD с именем DaysToKeep со значением 20 в реестр.

Вот улучшенная версия кода:

uses
  Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
  DaysToKeep: Integer;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.Key := '.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\URL History';
    if Reg.OpenKeyReadOnly(Reg.Key) then
    begin
      if Reg.ValueExists('DaysToKeep') then
      begin
        DaysToKeep := Reg.ReadInteger('DaysToKeep');
        Reg.CloseKey;
        ShowMessage(IntToStr(DaysToKeep));
      end;
    end;
  finally
    Reg.Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.Key := '.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\URL History';
    if Reg.OpenKey(Reg.Key, True) then
    begin
      Reg.WriteInteger('DaysToKeep', 20);
      Reg.CloseKey;
    end;
  finally
    Reg.Free;
  end;
end;

Изменения:

  • В обеих процедурах корневой ключ HKEY_USERS заменен на HKEY_CURRENT_USER, который более подходит для чтения и записи пользовательских значений реестра.
  • Процедура Button1Click теперь хранит прочитанное значение в локальной переменной DaysToKeep вместо присваивания его напрямую RegKey. Это делает код более читаемым и отладочным.
  • Statement ShowMessage улучшен с помощью функции IntToStr, конвертирующей целое значение в строку.

В статье рассмотрен способ считывания и записи значений типа REG_DWORD из реестра Windows с помощью Delphi, используя класс TRegistry.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Реестр ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:28:05/0.0055379867553711/1