5

システム トレイに表示される NotifyIcon コントロールがあります。画面上のアイコンの位置 (x, y) を見つけるにはどうすればよいですか?

ありがとう

4

3 に答える 3

5

実際にこれを行うことができます。これは、その方法とその他の多くを示すコードです。

NotifyIcon からのマウス イベントでは、単に Control.MousePosition を見てください。これには、マウスの (x,y) が含まれています。これらの (x,y) 値を使用して、フォーム/コントロールがクリックされた正確な位置に ContextMenu をフォーム/コントロールに配置するために、同じことができます。

これらの両方の良い例を次に示します。

詳細はこちら: http://code.msdn.microsoft.com/TheNotifyIconExample

于 2008-12-29T16:22:24.747 に答える
2

試行錯誤の長い旅と、独自の通知アイコンロケーターの開発の後、@ zhwang SuperNotifyIconによるこの素晴らしいプロジェクトを見るまで、最高の位置アイコンを見つける方法を開発しました。このプロジェクトには、不正確な (私自身の開発のような) ものから、Windows 7 API の新しいものを使用するものまで、通知アイコンを見つける 3 つの方法があります。これが決定的な答えです。

于 2012-06-07T14:11:17.477 に答える
1

できません。システム トレイのウィンドウ ハンドルを取得するのは難しくありません。GetClassName() は、標準の TOOLBAR コモン コントロールのクラス名である "ToolbarWindow32" を返します。64 ビット OS には 2 つあることに注意してください。次に、TB_GETBUTTONINFO のようにメッセージを送信できます。主な問題は、どのボタン ID を選択すればよいかわからないことと、返される情報にボタンの位置が含まれていないことです。

これは良いことです。ボタンをロックすることなく、ボタンが動き回ります。

于 2008-11-07T20:25:21.390 に答える