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

news/2024/5/18 22:38:05

http://dev.csdn.net/article/47/47972.shtm

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

张硕,你好,
   我目前对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;
}


http://www.niftyadmin.cn/n/4819344.html

相关文章

修改源代码,让Lua支持中文,中英混合变量名收藏

修改源代码&#xff0c;让Lua支持中文,中英混合变量名收藏 新一篇: Doris一款为Lua制作的小巧OpenGL封装 | 旧一篇: 自己写的DllCall类方便dll动态链接库函数调用 <script>function StorePage(){ddocument;td.selection?(d.selection.type!None?d.selection.createRang…

Android开源库集锦(转)

一、兼容类库 ActionBarSherlock : Action Bar是Android 3.0后才开始支持的&#xff0c;ActionBarSherlock是让Action Bar功能支持2.X后的所有平台&#xff0c;而且他会自动的判断是调用原生Action Bar还是使用扩展ActionBar。在我的小熊词典里有用到这个库&#xff0c;而且很多…

好奇心使人年轻

我 今天才知道千橡集团&#xff0c; 她竟然是猫扑的后台公司&#xff0c;千橡互动拥有 DuDu.com Mop.com WOWAR.com RenRen.com UUme.com DoNews.com 曾经的chinaren也是他们的&#xff0c;只不过卖给了搜狐。 还有就是有一个印客网&#xff0c;http://www.inker.com…

VC6下编译进Ring0代码的疑惑收藏

VC6下编译进Ring0代码的疑惑收藏新一篇: 破解-超级俄罗斯方块1.11&#xff08;Super Rumble Cube&#xff09; | 旧一篇: 破解-SourceFormatX256cn <script>function StorePage(){ddocument;td.selection?(d.selection.type!None?d.selection.createRange().text:):(d.…

解读PDB文件的魔码(Magic Code)——表25-6来之不易

解读PDB文件的魔码&#xff08;Magic Code&#xff09;——表25-6来之不易 PDB是Windows系统中使用最多的符号文件格式。最先是由Visual C的始祖Visual C 1.0引入的&#xff0c;时间大约为1992年。 PDB文件的内部格式是不公开的。总的来说&#xff0c;PDB文件是二进制格式。…

GUID和INT自增做主键的测试

测试机器&#xff1a;dell2850&#xff0c;2cpu&#xff0c;2G内存&#xff0c;数据库为简单模式&#xff0c;避免日志记录影响&#xff08;不过似乎一般的应用场景都是完整模式&#xff09;Int自增表CodeUSE [TestGUID]GO/****** 对象: Table [dbo].[Int] 脚本日期: 07/31…

通过地址获取对应的源代码信息收藏

通过地址获取对应的源代码信息收藏 新一篇: Windows性能管理解析 | 旧一篇: 使用Visual Leak Detector检测内存泄漏 <script>function StorePage(){ddocument;td.selection?(d.selection.type!None?d.selection.createRange().text:):(d.getSelection?d.getSelection(…

Windows Azure 上的托管服务CDN

公告 &#xff1a;本博客为微软云计算中文博客 的镜像博客。 部分文章因为博客兼容性问题 &#xff0c;会影响阅读体验 。如遇此情况&#xff0c;请访问 原博客 。 昨天我告诉正坐在我边上的一个同事&#xff0c;怎样在Windows Azure上发布的网站上对静态内容启用C…