请问如何获得文件的创建时间,修改时间以及创建作者等信息

解决方案 »

  1.   

    贴个C++的代码给你:
             HFILE hFile;
             FILETIME *mCreationTime;
             FILETIME *mLastAccessTime;
             FILETIME *mLastWriteTime;
             mCreationTime=new FILETIME;
             mLastAccessTime=new FILETIME;
             mLastWriteTime=new FILETIME;
             hFile=_lopen(AnsiString("c:\\Downloads\\"+FileName).c_str(),OF_READWRITE);
             GetFileTime((HANDLE *)hFile,mCreationTime,mLastAccessTime,mLastWriteTime);//得到时间
             SetFileTime((HANDLE *)hFile,mCreationTime,mLastAccessTime,LastWriteTime);//设置时间
             _lclose(hFile);
      

  2.   

    var   hFile: THandle;
       mCreationTime: PFileTime;
       mLastAccessTime: PFileTime;
       mLastWriteTime: PFileTime;
    begin         mCreationTime:=new( PFileTime);
             mLastAccessTime:=new(PFileTime);
             mLastWriteTime:=new(PFileTime);         hFile:=_lopen('c:\Downloads\20050110-016-x86.exe',OF_READWRITE);
             GetFileTime(hFile,mCreationTime,mLastAccessTime,mLastWriteTime);
             _lclose(hFile);
      

  3.   

    兄弟,创建者是无法获取的,除非特殊文件,比如Word文档。
      

  4.   

    TimeType,参数为 0,1,2/分别为:// 分别为获取文件创建,更改,最后修改时间function TForm1.FGetFileTime(sFileName: string;
              TimeType: Integer): TDateTime;
    var
       ffd:TWin32FindData;
       dft:DWord;
       lft,Time:TFileTime;
       H:THandle;
    begin
         H:=Windows.FindFirstFile(PChar(sFileName),ffd);
         case  TimeType of
               0: Time:=ffd.ftCreationTime;
               1: Time:=ffd.ftLastWriteTime;
               2: Time:=ffd.ftLastAccessTime;
         end;     //获取文件信息
         if (H <> INVALID_HANDLE_VALUE) then
         begin
              //我们只查找一个文件,所以关掉"find"
              Windows.FindClose(H);
              //转换FILETIME格式成为local  FILETIME格式
              FileTimeToLocalFileTime(Time,lft);
              //转换FILETIME格式成为DOStime格式
              FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo);
              //最后,转换DOStime格式成为Delphi's应用的TdateTime格式
              Result:=FileDateToDateTime(dft);
         end
         else
             result:=0;
    end;
      

  5.   

    function GetmFileTime(FileName: PChar;out CreateTime, LastAccessTime, LastWriteTime: TDate): Boolean;
    var
       CreateFT, LastAccessFT, LastWriteFT: TFileTime;
       ST: TSystemTime;
       fStruct: _OFSTRUCT;
       F: HFILE;
    begin
       Result := False;
       F := OpenFile(FileName, fStruct, OF_READ);
       if F = HFILE_ERROR then Exit;
       if GetFileTime(F, @CreateFT, @LastAccessFT, @LastWriteFT) then
       begin
        { 转换为系统时间并显示 }
          FileTimeToLocalFileTime(CreateFT, CreateFT);
          FileTimeToSystemTime(CreateFT, ST);
          CreateTime := SystemTimeToDateTime(ST);      FileTimeToLocalFileTime(LastWriteFT, LastWriteFT);
          FileTimeToSystemTime(LastWriteFT, ST);
          LastWriteTime := SystemTimeToDateTime(ST);      FileTimeToLocalFileTime(LastAccessFT, LastAccessFT);
          FileTimeToSystemTime(LastAccessFT, ST);
          LastAccessTime := SystemTimeToDateTime(ST);
       end;
       Result := True;
       _lclose(F);
    end;
    惭愧的是没有修改人
    ------------------------------------
    心中多少的创伤,不可抵挡的空虚,卑躬屈膝的一生,今天只想冲出那枷锁,就要象狂人,金属者---金属狂人