取IE缓存中的图片错误,内附代码,请大家帮忙(100分)

  • 主题发起人 主题发起人 冬月
  • 开始时间 开始时间

冬月

Unregistered / Unconfirmed
GUEST, unregistred user!
如何取得IE缓存中一张网页上的一副图片,这个图片在缓存中的名字是code.asp,我的代码取出来的图片只有半张。
//获取IE缓存验证码的图片
Function TForm1.GetLocalImg(Bitmap: TBitmap): Boolean;
Var
lpEntryInfo: PInternetCacheEntryInfo;
dwEntrySize, dwLastError, Hwd: LongWord;
Begin
Result := false;
IsStop := true;
dwEntrySize := 0;
FindFirstUrlCacheEntry(Nil, TInternetCacheEntryInfo(Nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
Hwd := FindFirstUrlCacheEntry(Nil, lpEntryInfo^, dwEntrySize);
If Hwd <> 0 Then
Begin
Repeat
dwEntrySize := 0;
FindNextUrlCacheEntry(Hwd, TInternetCacheEntryInfo(Nil^), dwEntrySize);
dwLastError := GetLastError();
If dwLastError = ERROR_INSUFFICIENT_BUFFER Then
Begin
GetMem(lpEntryInfo, dwEntrySize);
If FindNextUrlCacheEntry(Hwd, lpEntryInfo^, dwEntrySize) Then
Begin
If Pos(UpperCase('Code.asp'), UpperCase(lpEntryInfo.lpszSourceUrlName)) > 0 Then
If (FileExists(lpEntryInfo.lpszLocalFileName)) And (UpperCase(ExtractFileExt(lpEntryInfo.lpszLocalFileName)) = '.BMP') Then
Begin
Bitmap.FreeImage; //加载验证码BMP图片
Bitmap.LoadFromFile(lpEntryInfo.lpszLocalFileName);
Result := true;
End;
End;
End;
application.ProcessMessages;
Until (dwLastError = ERROR_NO_MORE_ITEMS);
End;
FreeMem(lpEntryInfo);
FindCloseUrlCache(Hwd);
IsStop := false;
End;

调用的语句
procedure TForm1.Button4Click(Sender: TObject);
begin
GetLocalImg(Image_No.Picture.Bitmap)
end;
 
兄弟,佩服佩服。 请问所有的图片, 在本地缓存都会对应一个url吗? 想写一个东西在IE右键菜单里面, 实现保存全部图片。
 

Similar threads

I
回复
0
查看
439
import
I
I
回复
0
查看
563
import
I
I
回复
0
查看
770
import
I
后退
顶部