Delphi

本类阅读TOP10

·游戏外挂设计技术探讨①
·如何使用Delphi设计强大的服务器程序
·分布式网络考试系统原型分析及实现
·用DLL方式封装MDI子窗体。
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·url编码与解码工具附代码
·工人线程中关闭窗体的实现
·hdsi2.0 sql注入部分抓包分析语句
·Borland Delphi 2005 下载

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
FAQ:如何从URL取得其在Internet Cache中的文件名

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

问========================================

张硕,你好,
   我目前对IE编程感兴趣,在网上看到了你的文章,觉得很不错。
   我用了很长时间的MyIE(现在叫Maxthon),它里面有一个功能不错,就是按住
Ctrl键然后拖动一个图片,就可以把这个图片保存到一个默认的目录下(在设置中
设)。我刚开始以为它只是把图片再下载一次,但是我拔网线后再Ctrl+拖鼠标,还是
能够保存图片。
   我打算自己写一写,但是IOleCommandTarget::Exec()和IWebBrowser2::ExecWB()
都会弹出另存为对话框。
   请问你,有什么高招能够直接把图片从Cache中拷出来吗?
   非常感谢!

2004-11-05


答========================================

   在WinInet库中Microsoft提供了一系列的API函数来操作Internet Cache,所以你的要求很容易满足。下面的例子给出了根据url取得其在Internet临时目录中文件名的方法。得到鼠标拖动的图片的url比较简单,此处不再赘述。

DWORD dwEntrySize=0;
LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry;

char strTemp[80];
DWORD dwTemp;

//假设lpszUrl是图片的url
if (!GetUrlCacheEntryInfo(lpszUrl,NULL,&dwEntrySize))
{
        if (GetLastError()!=ERROR_INSUFFICIENT_BUFFER)
        {
                return FALSE;
        }
        else
                lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO)new char[dwEntrySize];
}
else
        return FALSE;

if (!GetUrlCacheEntryInfo(lpszUrl,lpCacheEntry,&dwEntrySize))
{
        return FALSE;
}
else
{
        //lpCacheEntry->lpszLocalFileName即是lpszUrl在缓存中的文件名
        return TRUE;
}


引用地址:FAQ:如何从URL取得其在Internet Cache中的文件名




相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有