私は IE の BHO を書いています。アドレスバーからユーザーの入力を取得したい。入力は URL または検索キーワードです。他の BHO があるため、ユーザーの入力が適格な URL として変更されます。私は変更を必要とせず、ユーザーから生の入力を取得したいと考えています。BHO でユーザーから生の入力を取得するのに適したディスパッチ イベントはどれですか? どうすれば入手できますか?あなたの答えは高く評価されます。
2 に答える
1
Windows 7 では、"Address Band Root" クラスのウィンドウ (Spy++ を使用) が表示されます。これはおそらくブラウザのアドレスバーです。編集コントロールである子ウィンドウがあります。この編集コントロールをサブクラス化またはフックして、EN_CHANGE
またはEN_UPDATE
通知を受け取ることができます。次に、現在のテキストを照会できます。これは非常に高度な手法ですが、IE で単純なことを行うのに複雑なコードが必要になることがよくあります。
ああ、これはおそらく IE 保護モードでは機能しないことに注意してください。別の COM オブジェクトを実装し、BHO にそれをインスタンス化させて、汚い仕事をさせることができます。通常、IE はユーザーに昇格モード プロセスへのアクセス許可を求めるプロンプトを表示しますが、レジストリを使用してこの動作を無効にすることができます。
おっしゃる通り、これは先進的です。
于 2012-10-03T07:49:34.940 に答える
0
Have you looked at BeforeNavigate2 event? http://msdn.microsoft.com/en-us/library/aa768326(v=vs.85).aspx
于 2012-08-29T03:55:05.667 に答える