1

ユーザーが自分のプログラムから IE を起動したときにのみ有効にしたい IE BHO プラグインがあります (プログラムは を使用して IE を起動しますCreateProcess())。

ユーザーがプログラムの外部から IE を起動したときに、この BHO を有効にしたくありません。これは、BHO の問題がユーザーの通常のブラウジング エクスペリエンスを台無しにする可能性があることを意味します。

これを行う最善の方法は何ですか?

1 つの方法は、BHO を登録し、IE を起動してからすぐに BHO の登録を解除することです。IE を起動するプログラムがクラッシュすると、BHO が登録されたままになる可能性があるため、これはややこしいように思えます。

4

1 に答える 1

1

あなたのアプローチは非常にエラーが発生しやすいので、お勧めしません。代わりに、BHO は常に IE でロードする必要がありますが、デフォルトでは何も実行されません。次に必要なのは、「フィルタリングを開始する」または「記録を開始する」などを伝える方法です。

そこからたくさんの選択肢があります。最も単純なのは、環境 (セマフォ、ディスク ファイル) のどこかにあるフラグです。mybho:start監視するような特別な URL を持つことができます。

私はこれを何度もやりましたが、うまくいきます。

編集はい。BHO は、依存する DLL と一緒にメモリにロードされます (ただし、必要な場合にのみ待機してロードできますLoadLibrary())。

于 2010-05-12T00:28:55.010 に答える