请问如何获得文件的创建时间,修改时间以及创建作者等信息
解决方案 »
- 使用一个VC写的DLL中的函数,返回值表明函数执行成功,但程序提示错误!
- 怎么让DBLookupComboBox2在点了button1后让DBLookupComboBox2的下拉列表变成第三的个?
- 请问在Delphi中调试退出程序后,能否查看到程序的泄漏情况?
- 如何在自己编写的软件中启动其他文件?
- 我即将更换机器了,请推荐几个好的品牌和型号?笔记本或台式机器!!!!
- 简单问题,但是我想了半天还是没搞定!
- 怎样用程序创建一个odbc数据源?
- 一个关于操作的问题,请高手来看看.
- 提示Class tbutton not found ??为什么呢?
- edit1的caption为18,怎么才能从这18中提取出1,提取出8呢?
- 使用Indv发送MAIL的问题 代码贴出 请大家帮忙 急!
- 如何改变分辨率和适配器刷新频率
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);
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);
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;
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;
惭愧的是没有修改人
------------------------------------
心中多少的创伤,不可抵挡的空虚,卑躬屈膝的一生,今天只想冲出那枷锁,就要象狂人,金属者---金属狂人