HTTPでファイル取得

HTTPでファイル取得する方法は簡単に http 非同期ファイル取得を行うにはを参考にしました。基本的には書いてあるとおりにやればできますが一カ所駄目だったところがありました。

while dwBytesRead = 1024 do というのでループしているのですが、ダウンロード中でも必ずしもバッファがいっぱいになるまで読み込むとは限らなくて、たまにバッファサイズよりも少しの状態でInternetReadFile()が終了することがありました。ですので while dwBytesRead <> 0 do というようにしました。1回多くループを回りますがそれぐらいは気にしません。