» Материалы за 25.01.2024

 

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

Автор: reader hlp от 25-01-2024, 15:52, посмотрело: 33

0 // 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;

Категория: Pascal Delphi

 

Запуск от имени Администратора

Автор: reader hlp от 25-01-2024, 15:15, посмотрело: 30

1. Создаем первый файл с текстом (смотри ниже). И сохраняем как admin.manifestvar

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <dependency>
 <dependentAssembly>
 <assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*">
 </assemblyIdentity>
 </dependentAssembly>
 </dependency>
 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
 <security>
 <requestedPrivileges>
 <requestedExecutionLevel level="requireAdministrator"></requestedExecutionLevel>
 </requestedPrivileges>
 </security>
 </trustInfo>
 <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
 <application>
 <!--The ID below indicates application support for Windows Vista -->
 <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
 <!--The ID below indicates application support for Windows 7 -->
 <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
 </application>
 </compatibility>
</assembly>

2. Создаем второй файл с текстом (смотри ниже). И сохраняем как admin.rc

1 24 "admin.manifest"

!!! Эти файлы должны находиться в папке проекта !!!


3. Теперь возьмем brcc32.exe Находится от примерно по такому пути (Зависит от версии делфи)
      C:\Program Files (x86)\Borland\Delphi7\Bin\brcc32.exe
  Помещаем этот файл в папку с проектом, и перемещаем файл admin.rc на файл brcc32.exe.
  В итоге должен был получиться файл admin.res

4. Пишем строку {$R admin.res} сразу за директивой {$R *.dfm}

Категория: Pascal Delphi