Question

Je tente de se connecter à un contrôle du navigateur Web, mais il continue jeté sauf que IWebBrowser2 devrait mettre en œuvre IWebBrowser2 quelque chose comme ça, alors je googlé et solution trouvée à cela, a choisi des objets com puis à partir de là navigateur Web de Microsoft après chosing je suis arrivé le contrôle de appliquer sur la forme et je l'ai fait.

le code suivant écrit

var t = new Thread(() =>
{
    Form1 frm1 = new Form1();

    //new FormDialogWatcher(frm1.Handle);
    Settings.AutoStartDialogWatcher = false;
    var ie = new IE( frm1.WebBrowser1);

    ie.GoTo("http://www.google.com");
});
t.SetApartmentState(ApartmentState.STA);
t.Start();

que d'autres fils à débordement pile référence suggest.added introp.SHdocve mais quand i construire 68 erreurs se sont produites:

  

Erreur 64

     

ne pouvez pas intégrer Interop type 'SHDocVw.tagREADYSTATE' trouvé dans les deux assembly 'e: \ xmlreader \ lib \ Interop.SHDocVw.dll' et « e: \ xmlreader \ xmlreader \ obj \ x86 \ Debug \ Interop.SHDocVw.dll ». nvisager définissant la propriété 'Intégrer Interop Types de false.

Je faites un clic droit sur ce dll et a changé Interop false intégrer, mais sans effet.

Je commenté var ie = new IE( frm1.WebBrowser1);and les 68 erreurs ont disparu.

Était-ce utile?

La solution

Pourquoi voulez-vous le formulaire du tout. Essayez ceci:

var ie = new IE();

Le ApartmentState peut être défini pour toute l'application au sein de la configuration ainsi.

<configuration>
  <configSections>
    <sectionGroup name="NUnit">
      <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>
  </configSections>

  <NUnit>
    <TestRunner>
      <!-- Valid values are STA,MTA. Others ignored. -->
      <add key="ApartmentState" value="STA" />
    </TestRunner>
  </NUnit>


</configuration>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top