C# 读取IE缓存文件(1)
using System; using System.Runtime.InteropServices; namespace Common { public class IECache { [DllImport("Wininet.dll", SetLastError = true, CharSet = CharSet.Auto)] public static extern Boolean GetUrlCacheEntryInfo(String lpxaUrlName, IntPtr lpCacheEntryInfo, ref int lpdwCacheEntryInfoBufferSize); const int ERROR_FILE_NOT_FOUND = 0x2; struct LPINTERNET_CACHE_ENTRY_INFO { public int dwStructSize; IntPtr lpszSourceUrlName; public IntPtr lpszLocalFileName; int CacheEntryType; int dwUseCount; int dwHitRate; int dwSizeLow; int dwSizeHigh; FILETIME LastModifiedTime; FILETIME Expiretime; FILETIME LastAccessTime; FILETIME LastSyncTime; IntPtr lpHeaderInfo; int dwheaderInfoSize; IntPtr lpszFileExtension; int dwEemptDelta; } // 返回 指定URL文件的缓存在本地文件系统中的路径 public string GetPathForCachedFile(string fileUrl) { int cacheEntryInfoBufferSize = 0; IntPtr cacheEntryInfoBuffer = IntPtr.Zero; int lastError; Boolean result; try { result = GetUrlCacheEntryInfo(fileUrl, IntPtr.Zero, ref cacheEntryInfoBufferSize); lastError = Marshal.GetLastWin32Error(); if (result == false) { if (lastError == ERROR_FILE_NOT_FOUND) return null; } cacheEntryInfoBuffer = Marshal.AllocHGlobal(cacheEntryInfoBufferSize); result = GetUrlCacheEntryInfo(fileUrl, cacheEntryInfoBuffer, ref cacheEntryInfoBufferSize); lastError = Marshal.GetLastWin32Error(); if (result == true) { Object strObj = Marshal.PtrToStructure(cacheEntryInfoBuffer, typeof(LPINTERNET_CACHE_ENTRY_INFO)); LPINTERNET_CACHE_ENTRY_INFO internetCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO)strObj; String localFileName = Marshal.PtrToStringAuto(internetCacheEntry.lpszLocalFileName); return localFileName; } else return null;// file not found } finally { if (!cacheEntryInfoBuffer.Equals(IntPtr.Zero)) Marshal.FreeHGlobal(cacheEntryInfoBuffer); } } } }
只能获取 类似 http://www.baidu.com/img/baidu_jgylogo3.gif 这样的图片
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2013-12-15 win7开机直接进入系统系统桌面