ab.com コミュニティ
https://www.activebasic.com/forum/

ウインドウのハンドル
https://www.activebasic.com/forum/viewtopic.php?t=4356
ページ 11

作成者:  いとちゃん [ 2013年3月26日(火) 09:31 ]
記事の件名:  ウインドウのハンドル

ウインドウズのハンドルというのでしょうか。

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

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

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

作成者:  水波形 [ 2013年3月27日(水) 02:31 ]
記事の件名: 

マウスカーソル下のハンドルを取得すればいいです。

マウスがクリックされているかは、
コード:
GetAsyncKeyState(VK_LBUTTON)
で検出できます。
0以外でクリックされてるはず。値は忘れました

マウスカーソルの位置は、
コード:
Dim pos As POINTAPI
GetCursorPos(pos)
で取得出来ます。
pos.xに、x座標
pos.yに、y座標
が格納されます。

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

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

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

作成者:  たかせ [ 2013年3月27日(水) 21:03 ]
記事の件名: 

私も試してみました。
水波形さんの方針でOKです。

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

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/