HTML 페이지에 적용된 CSS 스타일에 대한 정보를 얻어야합니다. AxWebBrowser를 사용하고 IHTMLDOMNode를 반복합니다. 필요한 모든 데이터를 가져 와서 코드를 애플리케이션으로 옮길 수 있습니다. 문제는이 부분이 백그라운드 작업자 내부에서 실행되고 있으며 컨트롤을 인스턴스화 할 때 예외가 있다는 것입니다.단일 스레드 아파트 - ActiveX 컨트롤을 인스턴스화 할 수 없습니다.
AxWebBrowser browser = new AxWebBrowser();
ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated
because the current thread is not in a single-threaded apartment.
AxWebBrowser 이외의 다른 방법으로 해결할 방법이 있습니까?
감사합니다. 질문이나 문제가 하나 더 있습니다. 내가 사용하고있는 클래스는 클래스이고 AxWebBrowser는 this.Controls()에 추가해야하는 것처럼 보입니다. 컨트롤을 위조하는 방법이 있습니까? 아니면 Form을 분리해야합니까? –
@ martin.malek 위조 할 방법이 없습니다. 가장 좋은 방법은 새 양식을 만드는 것입니다. – JaredPar
안녕하세요. 코드는 t.SetApartmentState (ApartmentState.STA)이어야합니다. –