簡體   English   中英

32位應用程序中的WebBrowser控件在window.open()調用上啟動64位Internet Explorer

[英]WebBrowser Control in 32bit app Launches 64bit Internet Explorer on window.open() call

我有一個在Windows 7 64位上運行的32位應用程序。 該應用程序(用C ++編寫)承載一個WebBrowser控件。

當要求WebBrowser控件彈出一個新窗口時(通過javascript window.open()調用),它將啟動一個新的Internet Explorer進程。 特別地,這個新的IE進程是64位IE進程。

由於網頁喜歡Adobe Flash,因此不幸的是,我需要確保啟動的新IE進程是32位版本(這是我的計算機上的默認版本),以便可以顯示AdobeFlash內容。

有趣的是,IE本身(圍繞WebBrowser / MSHTML的包裝程序)沒有遇到此問題,這意味着可以設置某種配置來暗示 WebBrowser控件啟動32位進程。

有什么想法可以確保WebBrowser / MSHTML創建正確的流程?

我建議您處理DWebBrowserEvents2 :: NewWindow2事件 您可以在自己的進程中的Web瀏覽器控件中打開它,也可以在新的CLSID_InternetExplorer對象中打開它。

對於您的應用程序來說,這可能是多余的,但是對我而言,將Platform目標更改為x86可以防止在控件或彈出窗口中使用64位IE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM