在 InnoSetup 的代码部分读取 HKLM 和 HKLM64 的注册表值



我有一个场景时刻 - 对不起! :(

取以下代码:

{ How to Backup }
dwBackupAtShutdownHow := 0;
RegQueryDWordValue(HKLM64,
'SoftwareMeetSchedAssistMeeting Schedule AssistantOptions',
'BackupAtShutdownMode', dwBackupAtShutdownHow);
if (dwBackupAtShutdownHow = 1) then
begin
radBackupModeManual.Checked := True;
end
else begin
radBackupModeAuto.Checked := True;
end;

我需要更改它,以便它将检查HKLM64HKLM密钥是否存在。这是正确的吗:

{ How to Backup }
dwBackupAtShutdownHow := 0;
if (IsWin64 and RegQueryDWordValue(HKLM64,
'SoftwareMeetSchedAssistMeeting Schedule AssistantOptions',
'BackupAtShutdownMode', dwBackupAtShutdownHow))
else
RegQueryDWordValue(HKLM,
'SoftwareMeetSchedAssistMeeting Schedule AssistantOptions',
'BackupAtShutdownMode', dwBackupAtShutdownHow);
if (dwBackupAtShutdownHow = 1) then
begin
radBackupModeManual.Checked := True;
end
else begin
radBackupModeAuto.Checked := True;
end;

这是正确的方法吗?

所以我最终得到了,例如:

if (IsWin64) then
begin
RegQueryDWordValue(HKLM64,
'SoftwareMeetSchedAssistMeeting Schedule AssistantOptions',
'BackupAtShutdownWhat', dwBackupAtShutdownWhat)
end else   RegQueryDWordValue(HKLM,
'SoftwareMeetSchedAssistMeeting Schedule AssistantOptions',
'BackupAtShutdownWhat', dwBackupAtShutdownWhat);

最新更新