问一个注册表写入问题
delphi吧
全部回复
仅看楼主
level 8
我想往HKEY_LOCAL_MACHINE\SOFTWARE\Software\Classes
下写内容,为何写到了
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Software\Classes下面呢?可是这个wow6432node在我的代码里根本没出现,为什么写到这里了呢?
2017年02月26日 13点02分 1
吧务
level 14
因为操作系统是64位的,你的程序是32位的
2017年02月26日 14点02分 2
那怎么办?我这个程序是写好给别人用的。
2017年02月26日 15点02分
贴吧真是厉害!有你这样的高人当吧主也是delphier的缘分!我打死也没想到是还有这样的原因!
2017年02月26日 15点02分
level 8
@BambooCaep
这段代码可以执行
reg := TRegistry.Create(KEY_ALL_ACCESS);
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.OpenKey(path, true) then
begin
if not reg.ValueExists(regID) then
begin
reg.WriteString(regID, ',');
end;
end;
创建成功后,另外一处换成这样就不能执行了
reg := TRegistry.Create(KEY_ALL_ACCESS);
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.OpenKey(path, true) then
begin
if reg.ValueExists(regID) then
begin
reg.WriteString(regID, edit1.Text);
end;
end;
这是为何呢?
2017年02月26日 15点02分 4
别光openkey啊,记得closekey
2017年02月27日 01点02分
@BambooCaep 记住了。如果是同一个按钮单击事件里对一个注册表目录进行先读后写的操作,写之前要不要重新指定rootkey和openkey操作呢?
2017年02月27日 05点02分
回复
QQ_2286363096
:不看按钮,看TRegistry
2017年02月27日 06点02分
1