Как получить текущую метку времени Unix в Inno Setup? - PullRequest
1 голос
/ 12 января 2012

Пожалуйста, дайте мне знать, как получить текущую метку времени Unix в Inno Setup?

1 Ответ

2 голосов
/ 19 января 2012

Самый простой способ - использовать функцию time() из библиотеки времени выполнения C, которая имеет следующее возвращаемое значение:

Возвращает время в секундах, прошедшее с полуночи 1 января 1970 года или -1 в случае ошибки.

, что в точности соответствует метке времени Unix .

Теперь просто импортировать эту функцию в сценарии Inno Setup. Поскольку среда сценариев не знает указателей, параметр (который, к счастью, не должен указывать на действительный буфер, см. Связанную документацию) задан как целое число, и вы должны передать ему 0:

function Time(ATimerPtr: integer): integer; external '_time32@msvcrt.dll cdecl';

function InitializeSetup(): Boolean;
begin
  MsgBox(Format('unix timestamp: %d', [Time(0)]), mbInformation, MB_OK);
end;
...