私のソフトウェアは、HKCU \ Software \ mysoftwareにいくつかの値を保存しますが、これは問題になりませんでした。ただし、現在、いくつかの値をHKCU \ Software \ mysoftware \ Licenses(つまり、既存のデータのサブディレクトリ)にも保存しています。ただし、24時間後、これらの値は単に消えます。
ソフトウェアにログインして、キーが削除されておらず、ログエントリがないことを確認しました。これは、ソフトウェアが実行されていないため、非常に予想されます。誰かがレジストリイベントを追跡できる(Microsoftの)プロセスビューアを使用することを提案しました:しかし、それは動作をあきらめました(HKCU \ Software \ mysoftwareレジストリイベントだけを見ているのに、イベントが多すぎます)ので、私はまだ見つけることに近づいていませんそれらのキーを削除するのは何ですか?
アバストを使用しています!他の誰かが提案したアンチウイルスが原因である可能性があります。実際のキーは、「[keyname]=[base64string]」の形式のREG_SZです。派手なものはなく、約150文字です。ソフトウェアを閉じてから数時間後、レジストリエディタを使用してこれらの値を確認できます。しかし、しばらくして、彼らは去りました!私はめったに再起動しません。
では、他に何がキーを削除している可能性がありますか?
アップデート
Delphi6のコードは次のとおりです。
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;