webbrowser内存释放

本文介绍了WebBrowser组件的几个实用技巧,包括如何实现窗口自动滚动、如何处理脚本错误信息及如何进行内存释放,以提高应用的稳定性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WebBrowser窗口自动滚动:
this.webBrowser.Document.Window.ScrollTo(0, webBrowser1.Document.Body.ScrollRectangle.Height);
<wbr></wbr>
WebBrowser的脚本出错信息:
当页面上的脚本出错时,一般情况下会弹出脚本出错提示,如果在用WB写爬虫一类的时候,这类提示可能会导致系统不能工作,解决的发是:
(1)设置属性ScriptErrorsSurpressed = true;
(2)打开IE的设置 "Internet选项" - "高级" - 勾选"禁用脚本调试"
<wbr></wbr>
WebBrowser的内存释放:
WB的内存开销很大,当连续打开很多网页时这个问题将会非常明显,甚至耗尽内存,解决的方我在MSDN论坛上找到(来源: http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/88c21427-e765-46e8-833d-6021ef79e0c8/),具体如下:
<wbr></wbr>
回答者:Puremic
<wbr></wbr>
This solution worked for me!!<wbr><br style="margin: 0px; padding: 0px;"> Thank you so much mike_t2e!!!!!!!<br style="margin: 0px; padding: 0px;"><br style="margin: 0px; padding: 0px;"> -----------------------------------------------------------------------<br style="margin: 0px; padding: 0px;"><br style="margin: 0px; padding: 0px;"> Is the memory released when you minimize the app ?<wbr>If so, try this:</wbr></wbr>

-- in class definition<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr> [DllImport("KERNEL32.DLL", EntryPoint = "SetProcessWorkingSetSize<wbr>", SetLastError = true, CallingConvention = CallingConvention.StdCall)]</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> internal static extern bool SetProcessWorkingSetSize<wbr>(IntPtr pProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr> [DllImport("KERNEL32.DLL", EntryPoint = "GetCurrentProcess", SetLastError = true, CallingConvention = CallingConvention.StdCall)]</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> internal static extern IntPtr GetCurrentProcess();</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

-- code to call when you want to reduce the memory

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> IntPtr pHandle = GetCurrentProcess();</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> SetProcessWorkingSetSize<wbr>(pHandle, -1, -1);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值