ウインドウのハンドル

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
いとちゃん

ウインドウのハンドル

#1 投稿記事 by いとちゃん »

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

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

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

なにか良い方法があればご指導お願いいたします。
水波形
記事: 106
登録日時: 2009年3月29日(日) 15:45
連絡する:

#2 投稿記事 by 水波形 »

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

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

コード: 全て選択

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

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

コード: 全て選択

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

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

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

そしてさっきから、mciSendCommandで、MCI_STOPがエラー返ってきて謎すぎて困ってるので、寝ます。
↓個人的ソフト置き場
http://www.software.jpn.org/
↓萌えゲー製作とかしていたい
http://www.holygate.jpn.org/
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

#3 投稿記事 by たかせ »

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

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