[函数]快速获取文件大小

使用Win API 获取文件大小(可获取正在使用的文件,包括独占方式打开的文件GetFileSize)

	function GetSysFileSizeEx(AbsFileName:string):int64;
var
Handle: Windows.THandle;
FindData: Windows.TWin32FindData;
begin
Handle := Windows.FindFirstFile(PChar(AbsFileName), FindData);
if Handle <> INVALID_HANDLE_VALUE then
begin
Windows.FindClose(Handle);
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then //文件
begin
Result := INT64(FindData.nFileSizeHigh shl 32)+INT64(FindData.nFileSizeLow);
Exit;
end;
end;
Result := 0;
end;

另一个是小白的。

	function GetFileSize(const fName: AnsiString): Int64;
var
  hFile: THandle;
begin
  hFile := _lopen(PAnsiChar(fName), OF_READ);
  Result := FileSeek(hFile, Int64(0), 2);
  _lclose(hFile);
end;
分享到: