3

我的软件在 HKCU\Software\mysoftware 中存储了一些从未出现过问题的值。但是,我现在还在 HKCU\Software\mysoftware\Licenses 中存储了一些值 - 即现有数据的子目录。但是,24 小时后,这些值就会消失。

我登录我的软件以检查它没有删除密钥并且没有日志条目,这是完全可以预料的,因为该软件甚至没有运行。有人建议使用可以跟踪注册表事件的进程查看器(来自 Microsoft):但是,它放弃了工作(事件太多,即使我只看 HKCU\Software\mysoftware 注册表事件)所以我仍然没有找到什么是删除这些键!

我用阿瓦斯特!其他人建议的防病毒可能是罪魁祸首。实际密钥的格式为 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;
4

1 回答 1

0

仍然没有找到解决方案;但是,我能想到的(在其他地方建议)只是将应用程序限制在沙箱中的防病毒软件,尽管没有这样的通知。

于 2012-11-16T17:56:27.317 回答