1

COM/OLE を介して、デフォルトの Internet Explorer を win32-C アプリケーションに組み込みます。ファイルを保存/開くためのリンク (アンカー タグ) を含む Web ページを表示します。リンクをクリックすると、バックグラウンドで何らかの処理が行われますが、ファイルを保存するか開くかを尋ねるダイアログ ボックスは表示されません。Fiddler から、キャッシュに書き込みを行っているが、キャッシュにアクセスしたり、ポップアップを表示したりできないことがわかりました。

ファイルを保存するか開くかを尋ねるダイアログ ボックスが表示されると思います (デフォルト)。

IE ブラウザーからこれを行うと、すべて正常に動作します。

EDIT:私はダイアログボックスが表示され、ファイルを開くオプションを提供するサンプルコードを試しましたが、コードですべてを集計しましたが、まだボックスが表示されません。

モードレス ダイアログ ボックスの問題を考えていましたが、コードにメッセージ ボックスが表示されます。したがって、モードレス ダイアログ ボックスは無効になりません。

それを機能させる方法を取得できません。

(注:添付画像をご覧ください)

編集: コードで EmbedBrowser 関数を編集しましたが、ブラウザーに IOleClientSite オブジェクトへのポインターが与えられませんでした

新しいコード:- http://paste.ubuntu.com/1062010/

しかし、問題は解決しません!

4

1 に答える 1

1

私はその問題を理解しました。
インターフェイスDWebBrowserEvents2のinvokeメソッドは、ダウンロード中にファイルダウンロードボックスを表示しないように実装されました。同じことを許可するように変更しました。

于 2012-07-04T11:14:22.373 に答える