Форум: "WinAPI";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];
ВнизВремя создания файла Найти похожие ветки
← →
_Nix_ (2007-02-09 14:00) [0]Всем привет!
Есть 2 функции:
function GetFileTime(hFile: HANDLE; lpCreationTime, lpLastAccessTime,
lpLastWriteTime: PFILETIME): BOOL; stdcall;
Получает время Создания/Последнего доступа/Записи файла...
function SetFileTime(hFile: HANDLE; lpCreationTime, lpLastAccessTime,
lpLastWriteTime: PFILETIME): BOOL; stdcall;
Устанавливает время Создания/Последнего доступа/Записи файла...
Я попытался установить своему файлу время Создания/Последнего доступа/Записи как
у файла Explorer.exe, не у меня не получилось...
Я сделал это так:
program MB;
uses Windows;
function WinDir: String;
var
WinPath: array [0..MAX_PATH] of Char;
begin
GetWindowsDirectory(WinPath, MAX_PATH);
Result := WinPath;
end; //WinDir
var
st: OFSTRUCT;
hFile1, hFile2: Hwnd;
lpCreationTime,
lpLastAccessTime,
lpLastWriteTime: PFILETIME;
begin
GetMem(lpCreationTime, 32);
GetMem(lpLastAccessTime, 32);
GetMem(lpLastWriteTime, 32);
hFile1 := OpenFile(PChar(WinDir + "Explorer.exe") , st , OF_READ);
hFile2 := OpenFile(PChar(WinDir + "MyFile.exe") , st , OF_READ);
GetFileTime(hFile1, lpCreationTime, lpLastAccessTime, lpLastWriteTime);
SetFileTime(hFile2, lpCreationTime, lpLastAccessTime, lpLastWriteTime);
end.
Помогите плиз разобраться в чем дело...
← →
TRUNK © (2007-02-09 14:07) [1]Что возвращает GetLastError после SetFileTime ?
Возможно проблема в том, что hFile2 открыт только для чтения.
← →
DiamondShark © (2007-02-09 14:22) [2]
> Возможно проблема в том, что hFile2 открыт только для чтения.
Не "возможно", а именно так.
SetFileTime
...
Parameters
hFile
[in] Handle to the file for which to set the dates and times. The file handle must have been created with the FILE_WRITE_ATTRIBUTES access right.
← →
Nix (2007-02-09 20:15) [3]Извините что отсутствовал...
Открыл файл с атрибутами на запись... Не получилось...
Я сделал это так:program Project1;
uses Windows;
function WinDir: String;
var
WinPath: array [0..MAX_PATH] of Char;
begin
GetWindowsDirectory(WinPath, MAX_PATH);
Result := WinPath;
end; //WinDir
var
st: OFSTRUCT;
F1, F2: hFile;
lpCreationTime,
lpLastAccessTime,
lpLastWriteTime: PFILETIME;
begin
GetMem(lpCreationTime, 255);
GetMem(lpLastAccessTime, 255);
GetMem(lpLastWriteTime, 255);
F1 := OpenFile(PChar(WinDir + "Explorer.exe"), st, OF_WRITE);
F2 := OpenFile(PChar(WinDir + "xxx.exe"), st, OF_WRITE);
GetFileTime(F1, lpCreationTime, lpLastAccessTime,
lpLastWriteTime);
SetFileTime(F2, lpCreationTime, lpLastAccessTime,
lpLastWriteTime);
end.
Подскажите пожайлуста, что неправильно...
← →
TRUNK © (2007-02-11 01:35) [4]Считываешь время - открывай файл для чтения,
устанавливаешь время - открывай файл для записи.
← →
Чапаев © (2007-02-11 08:47) [5]Во-первых, хотя бы проверяй, открылся ли файл. А он не откроется в данном примере. Почему -- не скажу, ищи сам.
Во-вторых, нахуана такоеGetMem(lpCreationTime, 255)
сомбреро?var
lpCreationTime,
lpLastAccessTime,
lpLastWriteTime: TFILETIME;
...
SetFileTime(F2, @lpCreationTime, @lpLastAccessTime,
@lpLastWriteTime);
В-третьих, файлы закрывать Вася Пупкин будет?
В-четвёртых, за помещение файлов в виндовый каталог следует расстреливать без суда и следствия.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c