Цитата:
как получить дату изменения файла?
CODE:#define GENERIC_READ -2147483648
#define FILE_SHARE_READ 0x00000001
#define OPEN_EXISTING 3
#define FILE_ATTRIBUTE_NORMAL 128
#define INVALID_HANDLE_VALUE -1
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");
external(INT, "CreateFile", "CreateFileA", "Kernel32.dll");
external(INT, "GetFileTime", "GetFileTime", "Kernel32.dll");
external(INT, "FileTimeToSystemTime", "FileTimeToSystemTime", "Kernel32.dll");
external(INT, "FileTimeToLocalFileTime", "FileTimeToLocalFileTime", "Kernel32.dll");
external(INT, "sprintf_s", "sprintf_s", "msvcrt.dll");
char ft[8]; // FILETIME structure
char ft2[8]; // FILETIME structure
char st[16]; // SYSTEMTIME structure
char tzi[172]; // TIME_ZONE_INFORMATION structure
string path = "Kibor.exe"; // путь к файлу
int h_file = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if(h_file != INVALID_HANDLE_VALUE)
{
GetFileTime(h_file, 0, 0, address(#ft[0]));
CloseHandle(h_file);
FileTimeToLocalFileTime(address(#ft[0]), address(#ft2[0]));
FileTimeToSystemTime(address(#ft2[0]), address(#st[0]));
int year = codhexi(#st[0], 2);
int month = codhexi(#st[2], 2);
int day = codhexi(#st[6], 2);
int hour = codhexi(#st[8], 2);
int min = codhexi(#st[10], 2);
int sec = codhexi(#st[12], 2);
char buf[99];
sprintf_s(address(#buf[0]), sizearray(buf), "%02d.%02d.%d^r^n%02d:%02d:%d", day, month, year, hour, min, sec);
messagebox(format(#buf[0]));
}
else messagebox("Файл не открылся");