Дык а в чём проблема?
Когда отправляешь ВинСоком с помошью SendData:
GET:
http://www.someserver.com/file.exe
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
Accept: */*
Host:
www.someserver.com
А он тут же отвечает в DataArrival перед тем как сам файл передавать:
HTTP/1.1 206 Partial Content
Server: thttpd
Content-Type: application/octet-stream
Date: Fri, 12 Nov 2004 00:18:02 GMT
Last-Modified: Thu, 30 Sep 2004 06:05:31 GMT
Accept-Ranges: bytes
Connection: close
Content-Length: 156002
Разбиваешь этот ответ на массив строк (Split)
Находишь элемент содержащий:
Content-Length: xxxxxx
и вырезаешь из строки размер после двоеточия.
Только не все серваки передают размер файла