|
|

本篇文章主要介绍了"当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96“",主要涉及到当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96“方面的内容,对于当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96“感兴趣的同学可以参考一下。
- private static string htmlstr;
- private static void GetHtmlWithBrowser(object url)
- {
- htmlstr = string.Empty;
- WebBrowser wb = new WebBrowser();
- wb.AllowNavigation = true;
- wb.Url = new Uri(url.ToString());
- DateTime dtime = DateTime.Now;
- double timespan = 0;
- while (timespan < 10 || wb.ReadyState != WebBrowserReadyState.Complete)
- {
- Application.DoEvents();
- DateTime time2 = DateTime.Now;
- timespan = (time2 - dtime).TotalSeconds;
- }
- if (wb.ReadyState == WebBrowserReadyState.Complete)
- {
- htmlstr = wb.DocumentText;
- }
- }
- /// <summary>
- /// 在单线程中启用浏览器
- /// </summary>
- public static void RunWithSingleThread(object url, ref string html)
- {
- ParameterizedThreadStart ps = new ParameterizedThreadStart(GetHtmlWithBrowser);
- Thread t = new Thread(ps);
- t.IsBackground = true;
- t.ApartmentState = ApartmentState.STA;
- t.Start(url);
- html = htmlstr;
- }
复制代码
|
上一篇:WinForm开发浏览器,WebBrowser获取页面内容,解决中文乱码下一篇:电脑被检测多IP无法上网?用锐捷助手来解决
|