マウスカーソルの位置を変更する <TOP>
マウスカーソルの位置を変更します。
SetCursorPos マウスカーソルの位置を設定
Sleep 指定時間処理を停止
マウスカーソルを白い円に沿って移動させています。背景によりカーソルが見えにくいことがあるのでフォーム上に同期した(?)円を描いています。
'================================================================ '= マウスカーソルの位置を変更する '= (SetCursorPos.bas) '================================================================ #include "Windows.bi" ' マウスカーソルの位置を変更する Declare Function Api_SetCursorPos& Lib "user32" Alias "SetCursorPos" (ByVal x&, ByVal y&) ' 指定した時間、処理を停止 Declare Sub Api_Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds&) Var Shared Button1 As Object Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 ShowWindow -1 Cls '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var MiddleX(1) As Long Var MiddleY(1) As Long Var Radius(1) As Long Var TX(1) As Long Var TY(1) As Long Var Grad As Long Var Ret As Long Cls Do MiddleX(0) = GetDeviceCaps(8) / 2 MiddleY(0) = GetDeviceCaps(10) / 2 MiddleX(1) = GetWidth / 2 MiddleY(1) = GetHeight / 2 Radius(0) = MiddleY(0) / 2 Radius(1) = MiddleY(1) / 2 Grad = Grad + 1 TX(0) = MiddleX(0) + Cos((Grad / 360) * 2 * 3.141) * Radius(0) TY(0) = MiddleY(0) + Sin((Grad / 360) * 2 * 3.141) * Radius(0) TX(1) = MiddleX(1) + Cos((Grad / 360) * 2 * 3.141) * Radius(1) TY(1) = MiddleY(1) + Sin((Grad / 360) * 2 * 3.141) * Radius(1) Api_Sleep 5 CallEvent Ret = Api_SetCursorPos(TX(0), TY(0)) SetDrawWidth 3 Pset(TX(1), TY(1) - 16), Int(Rnd(1) * 15) Loop Until Grad > 360 End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End