1

「再ペアレント化」を使用して Windows アプリケーションを SWT アプリケーションに埋め込んでいます。その部分は正常に動作します。組み込みアプリがマウス移動イベントを受信できるように、SWT アプリをメッセージ キューにフックしたいと考えています。

SWT の OS クラスには、フックを追加するための興味深いメソッドがいくつかあるようですが、それらの使用方法がわかりません。

誰でも助けることができますか?

ありがとう

4

1 に答える 1

2

これは機能するはずですが、リフレクションを使用して非 API を呼び出すことに依存しているため、自己責任で使用してください。

リフレクションを使用して Display.addControl() と Display.removeControl() にアクセスできるようにします。次に、それを使用して、Windows アプリケーションの HWND と所有するコントロールを Display オブジェクトに追加します。これで、マウス移動イベントが組み込みアプリに送信されると、対応するコントロールがマウス移動イベントを取得する必要があります。

適切な対策として、所有しているコントロールに DisposeListener を追加し、removeControl() を呼び出して、イベントがデッド HWND に送信されないようにする必要があります。

于 2009-06-03T03:42:54.410 に答える