Visual Studio'da Web Browser ActiveX Hatasını Nasıl Düzeltebilirim?

1

Microsoft Visual Studio 2012 kullanıyorum. Visual Studio ile Windows Uygulaması geliştiriyorum ve bu uygulamam da Web Browser kontrolünü kullanıyorum. Aşağıdaki kod stabil olarak çalışmaktaydı fakat program çalışmaya devam ederken yaklaşık 1 saat sonra bu hata mesajını verdi.

Unable to get the window handle for the 'WebBrowser' control. Windowless ActiveX controls are not supported.

 System.Windows.Forms.WebBrowser _webBrows = new System.Windows.Forms.WebBrowser(); 

 _webBrows.Navigate("about:blank");                        _webBrows.Document.OpenNew(false);

 _webBrows.Document.Write(urunListHtml[0].ToString());

yukarıdaki kodda dizideki bir web sayfasının source kodlarını _webBrows' un Doucemnt'ine yazdırıyorum ve burada almam gereken verileri alıyorum. Program uzun süre çalıştıktan sonra

 _webBrows.Navigate("about:blank"); _webBrows.Document.OpenNew(false);

kodlarında yukarıdaki hata mesajını vermektedir. Bu sorunu nasıl düzeltebilirim.

emkoroglu emkoroglu (327)
5 yıl önce sordu

Toplam 1 Cevap


0

Emre, benzer bir sorunla karşılaşmıştım.  Sorun DEP - Data Execution Prevention (Veri Yürütme Engellemesi)  kaynaklıydı. DEP Windows 7 gibi işletim sistemlerinde, kullanıcıyı özellikle virüs gibi zararlı yazılımlardan korumak için kullanılan bir teknoloji. ActiveX işlemerinde zaman zaman sorun çıkartabiliyor.

DEP Data Execution Prevention (Veri Yürütme Engellemesi) nasıl kapatılır? linkinde DEP nasıl kapatılır var.  DEP'i kapatıp tekrar deneyebilirsin.
 

Uygulamanda Thread kullanıyorsan, Thread kullanımı ile ilgili hatan da olabilir.

Thread kullanıyorsan 

thread = new Thread (new ThreadStart (function)); 
 thread.SetApartmentState (System.Threading.ApartmentState.STA);

şeklinde kullanmalısın.

alattin alattin (13099)
5 yıl önce cevaplandı

üyelik gerektirir

Cevap yazabilmek için üye girişi yapmalısınız.

Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol