1

**こんにちは..

英語からグジャラート語辞書の WinForm アプリケーションを作成しています。

テキスト選択のために、システム全体のフックを右クリック コンテキスト メニューに設定する必要があります。

これは、このアプリケーションが実行されていることを意味し、ユーザーが任意のプログラムから単語を選択して右クリックすると、その単語のグジャラート語の意味がメニュー項目として表示されます。

これを行う方法?

または登録プログラミング、シェル拡張などの他のオプション...?

あなたが不可能だと言っても、私はこれをしなければなりません。

だから私を助けてください.**

4

1 に答える 1

1

マウスアクティビティをフックするのは簡単な部分です。SetWindowsHookEx、およびSOへのフックに関する多くの質問を参照してください。このようにして、マウスがいつ右クリックされたかを知ることができます。

選択したテキストを取得するのは難しい部分です。初心者については、 WindowFromPointを参照してください。コントロールを認識し、必要に応じて、選択したテキストをコントロールから取得する必要があります。コントロールが複雑な場合、これは単純なWin32関数を使用して常に可能であるとは限りません。

右クリックメニューに翻訳を追加することは、おそらく不可能な部分です。エクスプローラーがその可能性を提供するので、エクスプローラーのコンテキストメニューに何かを追加することは問題ではありません。ただし、さまざまなアプリケーションには、拡張する方法がなくても、さまざまな右クリックメニューがあります。何らかの理由で、メニューにWin32を使用しない場合もあります。より良いオプションであるIMOは、次のいずれかになります。

  1. 右クリックメニューの変更を忘れてください。選択したポイントの横にあるウィンドウを開き、必要なコンテンツを表示して、アプリケーションに独自の右クリックメニューを表示させます。
  2. ユーザーがShiftキーを押しながら右クリックした場合は、独自の右クリックメニューを表示し、メッセージをアプリケーションに渡さないでください。したがって、ユーザーにはあなたのメニューが1つだけ表示されます。もちろん、ユーザーはこの組み合わせに注意する必要があります。
于 2011-09-22T06:02:34.443 に答える