2

Windows 7 64 ビットで 32 ビット アプリケーションを実行しています。アプリケーション (C++ で記述) は、WebBrowser コントロールをホストします。

WebBrowser コントロールが (javascript window.open() 呼び出しによって) 新しいウィンドウをポップアップするように要求されると、新しい Internet Explorer プロセスを起動します。特に、この新しい IE プロセスは 64 ビット IE プロセスです。

Web ページは Adob​​e Flash が大好きなので、残念ながら、AdobeFlash コンテンツを表示できるように、起動する新しい IE プロセスが 32 ビット バージョン (私のマシンのデフォルト) であることを確認する必要があります。

興味深いことに、IE 自体 (WebBrowser/MSHTML のラッパー) にはこの問題はありません。これは、32 ビット プロセスを起動するよう WebBrowser コントロールにヒントを与えるように設定できる何らかの構成があることを意味します。

WebBrowser/MSHTML が適切なプロセスを作成することを確認する必要があるアイデアはありますか?

4

2 に答える 2

0

これはアプリケーションにとってやり過ぎかもしれませんが、私にとっては、プラットフォーム ターゲットを x86 に変更すると、コントロールまたはポップアップで 64 ビット IE が使用されなくなります。

于 2011-01-24T19:48:41.467 に答える
0

DWebBrowserEvents2::NewWindow2 イベントを処理することをお勧めします。独自のプロセスの webbrowser コントロールで開くか、新しい CLSID_InternetExplorer オブジェクトで開くことができます。

于 2010-07-16T17:08:22.313 に答える