日期:2014-05-17  浏览次数:20761 次

DllImport("wininet.dll" 能正常得到cookie 但是我把wininet.dll拷到程序目录下 就出错 是为什么?
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
  static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref System.UInt32 pcchCookieData, int dwFlags, IntPtr lpReserved);
  private static string GetCookies(string url)
  {
  uint datasize = 1024;
  StringBuilder cookieData = new StringBuilder((int)datasize);
  if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x2000, IntPtr.Zero))
  {
  if (datasize < 0)
  return null;

  cookieData = new StringBuilder((int)datasize);
  if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, IntPtr.Zero))
  return null;
  }
  return cookieData.ToString();
  }

然后是正常的,我把wininet.dll拷到程序目录方便分发 就发现取到的cookie是错误的 为什么啊?

------解决方案--------------------
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
这里写wininet.dll 路径,试试,
------解决方案--------------------
这个是系统的吗? 还是c++的? 如果是系统的 你没有必要移动你的目录下
------解决方案--------------------
wininet.dll里面调用了其他系统dll?