TWebBrowserでキー操作を無効にするには?

解決


ボンビー  2007-03-23 16:47:35  No: 25494  IP: 192.*.*.*

こんにちは

TWebBrowserでWebページを表示した後に、ユーザからの
キー操作を無効にしたいと考えています。

Popup Menuの無効はできたのですが、「バックスペース」、
「F5」、「Ctrl+N」等のキー操作を無効にしたいのですが
やり方がわかりません。

よろしくお願いします。

編集 削除
ちょいさき  2007-03-25 12:36:17  No: 25495  IP: 192.*.*.*

>Popup Menuの無効はできたのですが...
それができてるんなら、
>「バックスペース」、「F5」、「Ctrl+N」等のキー操作を無効...
にすることは簡単にできると思うけど。

編集 削除
Mr.XRAY  URL  2007-04-01 12:10:26  No: 25496  IP: 192.*.*.*

>Popup Menuの無効はできたのですが、「バックスペース」、
>「F5」、「Ctrl+N」等のキー操作を無効にしたいのですが

Popup Menuを無効にするのに,おそらくマウスメッセージのフック(捕捉)を行っていると思います.
同じように,キー操作を無効にしたり,変更するには,キーフックを行う必要
があるでしょう.

Delphiの多くのコントロール(コンポーネント)では,これらのマウスやキーの
メッセージを処理するために,OnMouseDown,OnKeyDownなどのイベントを利用
できますが,WebBrowserに表示したIEではこれがありません.
したがって,自分でコーディングする必要があります.

フック関数にもいろいろありますが,多分 WH_KEYBOARDあたりが適切ではない
かと思います.

以下に,フック関数の簡単な説明を書いていますので参考にして下さい.
http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/KindOfHook.htm

編集 削除
えーとね  2007-04-01 21:04:04  No: 25497  IP: 192.*.*.*

TApplicationEvents のOnMessage イベントを使用する方法
http://www.swissdelphicenter.ch/en/showcode.php?id=2360

編集 削除
Mr.XRAY  URL  2007-04-01 23:47:24  No: 25498  IP: 192.*.*.*

あれっ,TApplicationEventのOnMessageでいいんですね.
Popup Menu(マウス?)の処理にフックを使用しているものとばかり思っていました.

編集 削除
ボンビー  2007-04-02 14:08:44  No: 25499  IP: 192.*.*.*

返信ありがとうございます。

えーとねさんの投稿URLを参考にさせていただきました。

Mr.XRAYさんいつも教えて頂いてありがとうございます。
今回もまた参考にさせて頂きました。

編集 削除