У меня есть полное имя & путь исполняемого файла, например. C:\IW4\BIN\iw32.exe
и хотите извлечь дату и время компиляции этого исполняемого файла.Получить компиляцию Дата и время от .exe
Как это сделать? Я не нашел подходящего решения.
Моя программа на C++ должна компилироваться под Windows с использованием Borland C++ Builder, если эта информация имеет ценность.
EDIT: Я нашел образец кода, и он работает, спасибо за все ваши указатели и подсказки!
Кодекс:
#include <stdio.h>
#include <windows.h>
int main (int argc, char** argv)
{
WIN32_FILE_ATTRIBUTE_DATA attr;
SYSTEMTIME creation;
if (argc < 2)
return 1;
GetFileAttributesEx(argv[1], GetFileExInfoStandard, &attr);
FileTimeToSystemTime(&attr.ftLastWriteTime, &creation);
printf("Created: %04d-%02d-%02d %02d:%02d:%02d\n"
"Size: %d bytes\n",
creation.wYear, creation.wMonth, creation.wDay,
creation.wHour, creation.wMinute, creation.wSecond,
attr.nFileSizeLow);
return 0;
}
который обеспечивает следующий вывод:
Created: 2013-06-20 12:37:14
Size: 15098368
TimeDateStamp является поле, содержащее тезисы информацию. «Низкие 32 бита метки времени изображения.Это представляет собой дату и время, когда изображение было создано компоновщиком. Значение представлено в количестве секунд, прошедших с полуночи (00:00:00), 1 января, 1970, Universal Coordinated Time, согласно системным часам ». (из MSDN) – mox
это поле фактически «необязательно». На некоторых изображениях этого поля нет. Некоторые из них имеют неправильное значение (например, -1). Загрузчик игнорирует это поле. – mox
GetFileExInfoStandard (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365739(v=vs.85).aspx) НЕ извлекает данные, которые вы ищете. – mox