判断文件的最后修改时间就可以了!
function GetFileLastModiTime(FileName: string): string;
var
  hFile: Thandle;
  WriteTime, LocalTime: TFILETIME;
  DosFileTime: DWORD; // holds the Dos date and time
  SystemTime: TSystemTime; // holds the last modification time
begin
  hfile := CreateFile(pchar(FileName),
    0,
    FILE_SHARE_READ,
    nil,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    0);
  if hFile = INVALID_HANDLE_VALUE then
  begin
    ShowMessage('Error Opening File');
    Exit;
  end;
  GetFileTime(hFile, nil, nil, @WriteTime);
  FileTimeToLocalFileTime(WriteTime, LocalTime);
  FileTimeToSystemTime(LocalTime, SystemTime);  {convert the file time into Dos date and time components...}
  FileTimeToDosDateTime(LocalTime, LongRec(DosFileTime).Hi, LongRec(DosFileTime).Lo);
  Result := Datetimetostr(FileDateToDateTime(DosFileTime));
end;

解决方案 »

  1.   

    非要在文件上打标记也可以,嵌入汇编!
    CIH病毒源码里有!就是给PE文件打标记的!
      

  2.   

    虚心学习 mfc2001(拔剑茫然心四顾) ( 
    up 有分吗?
      

  3.   

    在 NTFS 文件系统中可以用修改一个文件的来源、作者或者修订号来做一个自己处理过的的记号,如果不和其他模块冲突的话这是很好的方法。具体的函数查查win api手册吧,一看就会用了。
      

  4.   

    可以在文件尾打上你自己的标记
    不过有可能破坏这个文件
    因此,如果可行的话,把你修改过的文件的保存到一个配置文件或StringList中去,需要的时候可以进行检索
      

  5.   

    如果你还没有解决,就一定听我的--Findfirst函数!!!
    最后别忘了加分给我呦!