我的软件在HKCU \ Software \ mysoftware中存储了一些从未出现问题的值。但是,我现在还在HKCU \ Software \ mysoftware \ Licenses中存储了一些值 - 即现有数据的子目录。然而,24小时后,这些价值就会消失。
我将日志记录在我的软件中以检查它是否没有删除密钥,并且没有日志条目,这是因为软件甚至没有运行所以非常期待。有人建议使用可以跟踪注册表事件的进程查看器(来自Microsoft):然而,这放弃了工作(太多事件,即使我只是在看HKCU \ Software \ mysoftware注册表事件)所以我仍然没有找到更接近找到 正在删除这些密钥!
我使用Avast!其他人建议的反病毒可能是罪魁祸首。实际的键的形式为REG_SZ,其中“[keyname] = [base64string]”。没什么特别的,大约150个字符。软件关闭几个小时后,我可以使用注册表编辑器查看这些值。但是过了一段时间,他们走了!我很少重启。
那么还有什么可以删除密钥?
更新
这是Delphi 6代码:
procedure XXX;
var
registry : TRegistry;
code : string;
begin
try
registry := TRegistry.Create;
if registry.OpenKey(REGISTRY_ROOT, true) then begin
code := [...a base64 string, around 150 chars on average...];
registry.WriteString(simname, code);
end;
finally
FreeAndNil(registry);
end;
end;
答案 0 :(得分:0)
仍然没有找到解决方案;然而,我能想到的(在其他地方建议的)是将病毒应用程序限制在沙盒中的反病毒,尽管没有这样的通知。