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.

相关阅读 >>

程序人生 : 30岁,我的程序员梦想

Delphi 条件编译语法 $ifdef $else $endif

Delphi mscomm简单的中间pc串口数据中转

Delphi xe5中移动平台的字符串要注意的事项

Delphi版本号检测判断

Delphi - 利用dll编程控制摄像头实现拍照、录制视频

Delphi 判断文件是否被占用

Delphi tserversocket 发送消息之前检查客户端是否仍处于连接状态

最简单的Delphi程序(控制台)

Delphi stream对象

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...