C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 他アプリのコンテキストメニューのハンドルを取得したい


(過去ログ 22 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■9738 / inTopicNo.1)  他アプリのコンテキストメニューのハンドルを取得したい
  
□投稿者/ こば (1回)-(2007/11/03(Sat) 11:02:18)

分類:[C#] 

やりたい事は、「他アプリを右クリック→更に表示されたコンテキストメニューをクリック」の自動化です。

下の流れで考えているのですが、どうしてもコンテキストメニューのハンドルが
取得できません。
spy++で検索しようとしても、メニューが消えてしまうため、解決の糸口が掴めません。

そもそもの考え方が間違っているのかも知れないのですが、どうかご教授お願い致します。


//コンテキストメニュー表示
SendMessage(hWnd, WM_RBUTTONDOWN, 0, 0);

//コンテキストメニューのハンドルを取得
ここが分かりません

//メニューを移動してクリック
SendMessage(MenuWnd, WM_KEYDOWN, VK_DOWN, 0);
SendMessage(MenuWnd, WM_KEYDOWN, VK_RETURN, 0);


引用返信 編集キー/
■9766 / inTopicNo.2)  Re[1]: 他アプリのコンテキストメニューのハンドルを取得したい
□投稿者/ こば (2回)-(2007/11/04(Sun) 13:49:59)
2007/11/04(Sun) 13:52:55 編集(投稿者)

イマイチ不安定のような気もするのですが、一応、下のコードで目的の動作
が達成できましたので、解決とさせていただきます。

ありがとうございました。


//コンテキストメニュー表示
PostMessage(hWnd, WM_RBUTTONDOWN, 0, 0);

//コンテキストメニューのハンドルを取得
System.Drawing.Point CurrentPos = System.Windows.Forms.Cursor.Position;
IntPtr MenuWnd = WindowFromPoint(CurrentPos);

//メニューを移動してクリック
PostMessage(MenuWnd, WM_KEYDOWN, VK_DOWN, 0);
PostMessage(MenuWnd, WM_KEYDOWN, VK_RETURN, 0);


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -