Transfert d'un objet du Cache Internet Explorer
Bonjour :D
(En rapport avec : http://www.developpez.net/forums/d11...rnet-explorer/ )
Je cherche suivant ce code précis (3) :
http://www.swissdelphicenter.ch/torr...ode.php?id=412
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| {3. Forces a download of the requested file, object, or directory listing from the origin server,
not from the cache
}
function DownloadURL_NOCache(const aUrl: string; var s: String): Boolean;
var
hSession: HINTERNET;
hService: HINTERNET;
lpBuffer: array[0..1024 + 1] of Char;
dwBytesRead: DWORD;
begin
Result := False;
s := '';
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
if Assigned(hSession) then
begin
hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0);
if Assigned(hService) then
try
while True do
begin
dwBytesRead := 1024;
InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead);
if dwBytesRead = 0 then break;
lpBuffer[dwBytesRead] := #0;
s := s + lpBuffer;
end;
Result := True;
finally
InternetCloseHandle(hService);
end;
end;
finally
InternetCloseHandle(hSession);
end;
end;
//aufrufen
var
s: String;
begin
if DownloadURL('http://www.swissdelphicenter.ch/', s) then
ShowMessage(s);
end; |
Comment "sortir" l'objet downloadé, afin de l'envoyer par exemple vers le dossier Temp de l'user de session afin de pouvoir le gérer.
Car le code ci-dessus est impec ; ça rafraîchi effectivement l'objet pointé en cache (pas une mince affaire !).
Mais comment le récupérer ?
J'ai bien noté le premier paramètre de InternetOpen(), mais... :oops:
Car tout le contenu de ce Temporary Internet File est considéré comme invisible par toutes les méthodes de copie que j'ai tenté.
(Sauf des fichiers .txt via une StringList, mais pour tout autre objet = niet)
Merci de votre expérience 8-)