Ver Mensaje Individual
  #6  
Antiguo 03-03-2022
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El problema de acceder a la fecha de un fichero de un ejecutable que se está ejecutando, es el mismo que de qualquier archivo abierto edn modo no compartido. No se puede usar ningun código que trarte de abrirlo porque eso no será posible. La solución el cambiar de camino, como apuntaba [egostar] aquí.

Estas dos opciones pueden servir:
Con FindFirst:
Código Delphi [-]
function GetFileModifyDate(FileName: string): TDateTime;
var
  SearchRec: TSearchRec;
begin  
  if FindFirst(Filename,faAnyFile,SearchRec) = 0 then
    Result:= FileDateToDateTime(SearchRec.Time)
  else
    Result:= 0;
  FindClose(SearchRec);
end;

Con GetFileAttributesEx:
Código Delphi [-]
function GetModifyFileDate(FileName: String): TDate;
var
  FileData:  WIN32_FILE_ATTRIBUTE_DATA;
  SystemTime: TSYSTEMTIME;
begin
  GetFileAttributesEx(PCHAR(FileName), GetFileExInfoStandard, @FileData);
  FileTimeToSystemTime(FileData.ftLastWriteTime, SystemTime);
  Result:= EncodeDate(SystemTime.wYear, SystemTime.wMonth, SystemTime.wDay);
end;

Saludos.
Responder Con Cita