delphi在64位系统下读写注册表  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

delphi在64位系统下读写注册表


delphi在64位系统下读写注册表
分类: delphi
HKEY_LOCAL_MACHINE写这个主键下的项,在64位系统下可能会重定向,所以构造时要加KEY_WOW64_64KEY
  reg := TRegistry.Create(KEY_ALL_ACCESS or KEY_WOW64_64KEY);

  reg.RootKey := HKEY_LOCAL_MACHINE;


//下面是使用范例,设置开机启动,删除开机启动
 unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,Registry, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.Access:=KEY_WOW64_64KEY or KEY_WRITE;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
begin
Reg.DeleteValue('kX Mixer'); //删除键值,取消开机自启动
Reg.CloseKey;
end;
finally
Reg.Free;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.Access:=KEY_WOW64_64KEY or KEY_WRITE;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
begin
Reg.WriteString('kX Mixer','"C:\Program Files\kX Project\kxmixer.exe" --startup');  //添加键值,加入开机启动项
Reg.CloseKey;
end;
finally
Reg.Free;
end;
end;

end.

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.05872917175293 seconds