ページ 11

ウインドウのハンドル

Posted: 2013年3月26日(火) 09:31
by いとちゃん
ウインドウズのハンドルというのでしょうか。

起動して、別に開いているウインドウをクリックすると
そのウインドウの座標情報などの情報を取得して
所定のテキストファイルに保存しCloseする。

というようなアプリを考えてます。

なにか良い方法があればご指導お願いいたします。

Posted: 2013年3月27日(水) 02:31
by 水波形
マウスカーソル下のハンドルを取得すればいいです。

マウスがクリックされているかは、

コード: 全て選択

GetAsyncKeyState(VK_LBUTTON)
で検出できます。
0以外でクリックされてるはず。値は忘れました

マウスカーソルの位置は、

コード: 全て選択

Dim pos As POINTAPI
GetCursorPos(pos)
で取得出来ます。
pos.xに、x座標
pos.yに、y座標
が格納されます。

後は、タイマーイベントなりでクリックを検出したら、
ループを抜けるなどの処理をすればいいかと。

タイマーイベントは、
SetTimer関数、KillTimer関数
あたり、
マルチスレッドなら
CreateThread関数
あたりを調べればいいかと思います。

そしてさっきから、mciSendCommandで、MCI_STOPがエラー返ってきて謎すぎて困ってるので、寝ます。

Posted: 2013年3月27日(水) 21:03
by たかせ
私も試してみました。
水波形さんの方針でOKです。

ただGetAsyncKeyState(VK_LBUTTON)のみでは左クリックしか認識しません
右クリックも認識するのならば
IF GetAsyncKeyState(VK_LBUTTON) <> 0 OR _
GetAsyncKeyState(VK_RBUTTON) <> 0 THEN
としたほうがよいと思いますが。
よろしくお願いします。