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

解決


ボンビー  2007-03-24 01:47:35  No: 25494  IP: [192.*.*.*]

こんにちは

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

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

よろしくお願いします。

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

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

編集    削除
Mr.XRAY  URL  2007-04-01 21: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-02 06:04:04  No: 25497  IP: [192.*.*.*]

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

編集    削除
Mr.XRAY  URL  2007-04-02 08:47:24  No: 25498  IP: [192.*.*.*]

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

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

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

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

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

編集    削除