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

わんくま同盟

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

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


(過去ログ 69 を表示中)
■39868 / )  マウス動作の記憶再生について
□投稿者/ たぬき (6回)-(2009/08/15(Sat) 14:27:44)

分類:[.NET 全般] 

またまた質問させてもらいます。
今、タイトルのアプリケーションを作成しているのですが、クリックを記憶させる時にうまくできなくて困っています。分かる方いらっしゃいましたらヒントだけでもお願いします。
下のプログラムはtimerオブジェクトの内容です。ここで、繰り返しマウスの座標とクリックのタイミングを記憶させています。
ここで、迷っているのがAPI関数GetAsyncKeyStateの使用についてです。sleep関数で100ms設定しないと、クリックした回数以上読み取ってしまうんです。でも、timerは10msごとに繰り返しているので100msを入れるとスムーズに再生できなくて・・・
再生にはmouse_event関数を使用しているので、これと同じようにマウスのアップ、ダウンで区別できる関数はあるのでしょうか?もしないならGerAsyncKeyState関数をうまく使う方法はないでしょうか。
お願いします。


tokei2b = tokei2b + 1

mouse_x.Add(Windows.Forms.Cursor.Position.X) '配列mouse_xにマウスカーソルのX座標を追加
mouse_y.Add(Windows.Forms.Cursor.Position.Y) '配列mouse_yにマウスカーソルのY座標を追加
count = count + 1
If GetAsyncKeyState(VK_LBUTTON) <> 0 Then
count1.Add(count) '左クリックされた時、配列count1にcountを追加
Call Sleep(100) 'ユーザからのマウスクリックを制御するため100msの待ち時間

End If
If GetAsyncKeyState(VK_RBUTTON) <> 0 Then
count2.Add(count) '右クリックされた時、配列count1にcountを追加
Call Sleep(100)
End If

返信 編集キー/


管理者用

- Child Tree -