C# wininet InternetSetOption
Posted
技术标签:
【中文标题】C# wininet InternetSetOption【英文标题】: 【发布时间】:2010-09-08 18:20:25 【问题描述】:我正在使用How to clear System.Windows.Forms.WebBrowser session data?,只要只有一个浏览器,它就可以工作。是否可以在同一个应用程序中为 2 个 Web 浏览器控件提供自己的会话?
如果是这样,我是否只需要改变
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0);
到
InternetSetOption(webBrowser1.Handle, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0);
?
还是需要别的东西?
【问题讨论】:
不是webBrowser1.Handle,而是窗口句柄。它需要会话句柄。我很惊讶 NULL 有效,但您无法从浏览器中获取会话句柄。 只是为了确保我理解,我试图做的事情是不可能的? 【参考方案1】:你试过了吗?我认为这是不可能的,因为会话是按浏览器实例存储的。也许您需要从属于该控件的会话中清除数据,然后您可以保留另一个控件的会话数据。
【讨论】:
对不起,我应该将它添加到 cmets。是的,我试过了,它返回 false 虽然我注意到 .Handle 给出了窗口的句柄,而不是控件。你说的我该怎么做? 在使用会话时,我总是使用代号将其存储在会话中。所以 Session["count"] = count;将存储当前计数。但我不知道你的商店是什么样子的,你似乎在使用 cookie,从未使用过:P。以上是关于C# wininet InternetSetOption的主要内容,如果未能解决你的问题,请参考以下文章
使用 wininet.dll 的 FtpFindFirstFile 错误
C# 等效于 VB DLL 函数声明 (InternetSetOption)?
wininet 或 winhttp,这是 POST 请求的首选