1

ユーザーがログインする必要がある Internet Explorer ツールバーを VC++ で開発しました。メニューでそのユーザーの詳細を更新するだけですが、タブを変更するたびにツールバーがログアウトされます。タブごとにツールバーの個別のインスタンスの実行を停止するにはどうすればよいですか。

4

1 に答える 1

2

ツールバーはインプロセス COM サーバーであり、IE 自体はタブのプロセス分離を使用します。タブを閉じたりクラッシュしたりしても状態データを保持するには、状態データを IE のプロセスからブローカー プロセスに移動する必要があります。プロセス間通信方法の 1 つ (名前付きパイプなど) を介してブローカ プロセスに問い合わせることで、状態データを取得できます。

タブ間で状態を同期するには、古いタブのDWebBrowserEvents2 ::WindowStateChanged イベント ハンドラーでブローカー プロセスにデータを保存し、新しいタブの DWebBrowserEvents2 ::WindowStateChanged イベント ハンドラーでブローカー プロセスに状態データを要求します。

于 2012-12-04T20:32:15.380 に答える