Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 19178|Resposta: 0

[Fonte] A thread atual não está em uma unidade single-threaded, então o controle ActiveX "8856f961-340a-11d0-a96" não pode ser instanciado

[Copiar link]
Publicado em 11/10/2015 22:32:39 | | |
Este artigo introduz principalmente o conteúdo de "A thread atual não está em uma unidade single-threaded, então o controle ActiveX não pode ser instanciado" "8856f961-340a-11d0-a96"", que envolve principalmente o conteúdo do controle ActiveX "8856f961-340a-11d0-a96" que não pode ser instanciado porque a thread atual não está em uma unidade single-threaded. 8856f961-340a-11d0-a96", estudantes interessados podem consultá-lo.

  1. private static string htmlstr;
  2.         private static void GetHtmlWithBrowser(object url)
  3.         {
  4.             htmlstr = string.Empty;

  5.             WebBrowser wb = new WebBrowser();
  6.             wb.AllowNavigation = true;
  7.             wb.Url = new Uri(url.ToString());
  8.             DateTime dtime = DateTime.Now;
  9.             double timespan = 0;
  10.             while (timespan < 10 || wb.ReadyState != WebBrowserReadyState.Complete)
  11.             {
  12.                 Application.DoEvents();
  13.                 DateTime time2 = DateTime.Now;
  14.                 timespan = (time2 - dtime).TotalSeconds;
  15.             }

  16.             if (wb.ReadyState == WebBrowserReadyState.Complete)
  17.             {
  18.                 htmlstr = wb.DocumentText;
  19.             }
  20.         }

  21.         /// <summary>
  22.         /// 在单线程中启用浏览器
  23.         /// </summary>
  24.         public static void RunWithSingleThread(object url, ref string html)
  25.         {
  26.             ParameterizedThreadStart ps = new ParameterizedThreadStart(GetHtmlWithBrowser);
  27.             Thread t = new Thread(ps);
  28.             t.IsBackground = true;
  29.             t.ApartmentState = ApartmentState.STA;
  30.             t.Start(url);
  31.             html = htmlstr;
  32.         }
Copiar código






Anterior:O WinForm desenvolve o navegador, e o WebBrowser obtém o conteúdo da página e resolve caracteres chineses distorcidos
Próximo:O computador é detectado e não consegue acessar a Internet com múltiplos IPs? Use o Assistente Ruijie para resolver
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com