wsql 发表于 2013-2-5 10:08:21

Wininetdll函数库:根据url获取缓存文件

using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;namespace ConsoleApplication34{    class Program    {            public struct internet_cache_entry_info      {            public int dwstructsize;            public IntPtr lpszsourceurlname;            public IntPtr lpszlocalfilename;            public int cacheentrytype;            public int dwusecount;            public int dwhitrate;            public int dwsizelow;            public int dwsizehigh;            public FILETIME lastmodifiedtime;            public FILETIME expiretime;            public FILETIME lastaccesstime;            public FILETIME lastsynctime;            public IntPtr lpheaderinfo;            public int dwheaderinfosize;            public IntPtr lpszfileextension;            public int dwexemptdelta;      }            public static extern IntPtr FindFirstUrlCacheEntry(   string urlsearchpattern, IntPtr lpfirstcacheentryinfo, ref   int lpdwfirstcacheentryinfobuffersize);            public static extern bool GetUrlCacheEntryInfo(   string lpszurlname, IntPtr lpcacheentryinfo, ref   int lpdwcacheentryinfobuffersize);      public static string getcatchfilename(string url)      {            int nneeded = 0, nbufsize = 0;            IntPtr buf = IntPtr.Zero;            FindFirstUrlCacheEntry(null, IntPtr.Zero, ref   nneeded);            nbufsize = nneeded; buf = Marshal.AllocHGlobal(nbufsize);            internet_cache_entry_info cacheitem;            GetUrlCacheEntryInfo(url, buf, ref   nneeded);            cacheitem = (internet_cache_entry_info)Marshal.PtrToStructure(buf, typeof(internet_cache_entry_info));            string res = Marshal.PtrToStringAuto(cacheitem.lpszlocalfilename);            return (res);      }      static void Main(string[] args)      {            string str = getcatchfilename("http://profile.csdn.net/jinjazz/picture/2.jpg");            Console.WriteLine(str);            Console.Read();      }    }}
页: [1]
查看完整版本: Wininetdll函数库:根据url获取缓存文件