![]() |
"FileSetDate" auch für Ordner?
Hallo,
gibt es die function "FileSetDate" auch für Ordner? ich möchte gerne das Datum eines Ordners setzen |
Re: "FileSetDate" auch für Ordner?
Delphi-Quellcode:
Ich hoff ich hab's richtig übersetzt ... der Funktion kannst du Dateien, oder Verzeíchnisse (ohne ein abschliesendes "\") übergeben.
Function SetFileAge(Const FileName: AnsiString; Age: TFileTime): Boolean;
Var F: THandle; Begin Result := False; F := CreateFileA(PAnsiChar(FileName), GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE or FILE_SHARE_DELETE, nil, OPEN_EXISTING, 0, 0); If F = INVALID_HANDLE_VALUE Then Exit; {CreateTime} Result := SetFileTime(F, @Age, nil, nil); {LastAccessTime} Result := SetFileTime(F, nil, @Age, nil); {LastWriteTime} Result := SetFileTime(F, nil, nil, @Age); CloseHandle(F); End; Du mußt dir nur noch raussuchen welche Zeit du ändern willst ... einfach 2 von den 3 Zeilen in der Mitte (die mit {...} am Anfang) rauslöschen :) [add] oder einfach so
Delphi-Quellcode:
Function SetFileAge(Const FileName: AnsiString; Age: Integer): Boolean;
Var F: THandle; Begin Result := False; F := CreateFileA(PAnsiChar(FileName), GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE or FILE_SHARE_DELETE, nil, OPEN_EXISTING, 0, 0); If F = INVALID_HANDLE_VALUE Then Exit; Result := FileSetDate(F, Age) = 0; CloseHandle(F); End; |
Re: "FileSetDate" auch für Ordner?
Zitat:
Delphi-Quellcode:
Function SetFileAge(Const FileName: AnsiString; Age: TFileTime): Boolean;
Var F: THandle; Begin Result := False; F := CreateFileA(PAnsiChar(FileName), GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE or FILE_SHARE_DELETE, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0); If F = INVALID_HANDLE_VALUE Then Exit; {CreateTime} Result := SetFileTime(F, @Age, nil, nil); {LastAccessTime} Result := SetFileTime(F, nil, @Age, nil); {LastWriteTime} Result := SetFileTime(F, nil, nil, @Age); CloseHandle(F); End; |
Re: "FileSetDate" auch für Ordner?
Da stellt sich mir nur eine Frage ... bei mir ging es (bei meinen Tests damals) ... was hat FILE_FLAG_BACKUP_SEMANTICS mit Verzeichnissen zu tun :shock:
|
Re: "FileSetDate" auch für Ordner?
Zitat:
![]() Windows NT: You can obtain a handle to a directory by calling the CreateFile function with the FILE_FLAG_BACKUP_SEMANTICS flag set, as follows: hDir = CreateFile ( DirName, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL ); You can pass a directory handle to the following functions: BackupRead BackupSeek BackupWrite GetFileInformationByHandle GetFileSize GetFileTime GetFileType ReadDirectoryChangesW SetFileTime |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz