Schon runtergeladen ist ja nun mal das kleinste Problem
Einfach eine neue Variable, die am Anfang 0 ist und auf die immer BytesRead addiert wird.
Schon hast du die gedownloadeten Bytes.
Die Abfrage der Größe ist eigentlich auch einfach einzubauen, allerdings habe ich beim Testen immer 0
zurück bekommen. Ich benutze allerdings C++. Versuchs einfach mal mit
InternetReadFileEx oder
HttpQueryInfo
Chuck Norris has counted to infinity ... twice!