Dato che non vuoi usare l'ocx e dato che questo si basa sulle funzionalita' della DLL WININET, allora dovrai usare direttamente tali funzionalita' dal tuo programma, dichiarando le varie API che ti servono e usandole direttamente per leggere il file.
Ma il codice diventa piu' complesso e lungo (l'activex serviva proprio a ridurlo ...).
Pero', per questioni di tempo, non ti posso fornire tutto il codice ma ti indico qualche link da cui iniziare le tue ricerche e la scrittura di quello che serve ...
La API principale che dovrai usare e' la
InternetReadFile
http://msdn2.microsoft.com/en-us/library/aa385103.aspx
ma come vedi, questa ha la necessita' di usare la
InternetOpenUrl
http://msdn2.microsoft.com/en-us/library/aa385098.aspx
e qualche altra della DLL WinInet
http://msdn2.microsoft.com/en-us/library/aa385473.aspx