1

WinFormsアプリケーションは、ホットキー(Ctrl +マウスの右クリック)がクリックされた後、マウスの位置から単語をキャプチャします。

ホットキーの監視は、サードパーティのコンポーネントで実行されます。

ホットキーが押された後、コンポーネントはクリックされたコントロールhwnd引数とマウス位置でイベントを発生させます。

ホットキーがアプリケーションをクリックしたかどうかを確認するにはどうすればよいですか?

アプリケーションが単語がキャプチャされたウィンドウによって非表示になっている場合、アプリケーションが前面に表示され、単語を覆っている場合は位置が変わるため、知っておく必要があります。

4

2 に答える 2

1

ホットキーが処理された後、サードパーティのコンポーネントは、クリックされたコントロール hwnd 引数とマウス位置でイベントを発生させます。

コントロールを含むアプリケーションのルート ウィンドウを知るには、GetAncestor関数を使用できます: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633502(v=vs.85).aspx

したがって、アプリケーションがクリックされたかどうかを知るには、その hwnd と見つかった hwnd を比較するだけです。

于 2012-07-09T06:05:43.367 に答える
0

アプリケーションをターゲットにするかどうかに関係なく、OS で発生する Windows メッセージを取得するには、Windows フックAPIを使用する必要があります。

于 2012-07-08T15:03:33.353 に答える