Вопрос Как получить часовой пояс текущей ОС с помощью inno setup?

agent555

Участник
Можно получать информацию из реестра по пути
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
и
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
интересует же всего один кей - TimeZoneKeyName
нагуглил код, в целом работает +- работает
///
function GetGMT(): string;
var
ZoneName, gmt: string;
begin
Result := '';
RegQueryStringValue(HKLM, 'SYSTEM\CurrentControlSet\Control\TimeZoneInformation', 'TimeZoneKeyName', ZoneName);
if ZoneName <> '' then
if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\'+ZoneName) then
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\'+ZoneName, 'Display', gmt) then
if gmt <> '' then Result := gmt;
end;
 
Сверху