не знаю работает или нет, просто нашел такой вариант
Код:
function FileSize_(FName: string): int64;
var
ff: _win32_find_dataa;
hFind: hwnd;
begin
hFind := FindFirstfile(pchar(FName), ff);
if (INVALID_HANDLE_VALUE <> hFind) then
result := (ff.nFileSizeHigh shl 32) + ff.nFileSizeLow
end;