После вызова invoke URLDownloadToCacheFile, 0, offset urltofile, offset buffer, sizeof buffer, 0, 0 invoke CreateFile, offset buffer, GENERIC_READ, 0,0,OPEN_EXISTING,0,0 CreateFile через раз возвращает ошибку 0x20 - Процесс не может получить доступ к файлу, так как этот файл занят другим процессом. Пробывал сделать цыкл который ждёт некоторое время и опять опрешавает файл, но не помагает. Зато всё работает после перезапуска приложения.
самое правильное решение - открывать файл в режиме шаринга чтения - тогда все будет ок. Дело в том что после вызова UrlDownloadToCacheFile еще открыт на чтение подсистемой урлмоникеров.