Не могу понять почему это код не работает он всё время возвряшает не правельный размер где ошибка??? Код (Text): invoke InternetOpen,_xxx,\ INTERNET_OPEN_TYPE_DIRECT,0,0,0 push eax ; First InternetCloseHandle invoke InternetOpenUrl,eax,_file, NULL, 0, INTERNET_FLAG_RELOAD + INTERNET_FLAG_TRANSFER_BINARY + INTERNET_FLAG_RAW_DATA, 0 push eax ; Second InternetCloseHandle and [_ret],0 push 0 ; Temp mov ebx,esp invoke InternetQueryDataAvailable,eax,ebx,0,0 ;int 3 ;TRUE indicates success. FALSE indicates failure. ;To get extended error information, call GetLastError. ;If the function finds no matching files, GetLastError returns ERROR_NO_MORE_FILES. invoke SetDlgItemInt,[hwnd],2,[ebx],0 pop eax call [InternetCloseHandle] call [InternetCloseHandle] xor eax,eax finish: pop edi esi ebx return _xxx db 'TestProg',0 _file db 'http://www.v-style.ru/g-mix/G-Mix20_-_DJ_Unit__november_2003.mp3',0 endp
2 Songoku Ты попал... Один мой знакомый разбирался с этой проблемой около месяца, в результате каким-то странным образом функция заработала.
Я с эту(InternetQueryDataAvailable) функцию так и не заставил работать и заменил её на менее глючную HttpQueryInfo с флагом HTTP_QUERY_CONTENT_LENGTH OR HTTP_QUERY_FLAG_NUMBER
АААа ... я нашел другой способ!!! Можно вместо InternetQueryDataAvailable использовать, Код (Text): invoke InternetSetFilePointer,hFile,0,0,FILE_END,0 ВСЁ!!!! Проблема решина!