2009-12-22 (Tue) [長年日記]

_ [ahk]でもけっきょく長くなるんだよなあ

ちょっと位置情報がおかしかったみたいなので、昨日のをちょっと改良。

CoordMode, Mouse, Screen
XButton1::
   MouseGetPos, sx, sy, hwnd, ctrl, 1
   WinGetPos, wx, wy, , , ahk_id %hwnd%
   while GetKeyState("XButton1", "P")
   {
     MouseGetPos, x, y
     delta := sy - y
     if(delta != 0)
     {
         ;; http://msdn.microsoft.com/en-us/library/aa923539.aspx ?
         wParam := 0x10000 * 120 * (delta / Abs(delta))
         lParam := (sx + wx) + ((sy + wy) * 0x10000)
         ;; accel = (delta^2 / 400)
         loop % (Ceil((delta ** 2) / 400))
         {
           PostMessage, 0x20A, %wParam%, %lParam%, %ctrl%, ahk_id %hwnd%
           if(!GetKeyState("XButton1", "P"))
             break
         }
         MouseMove, sx, sy, 0
     }
   }
   ;; immediately up == clicked
   if(A_TimeSinceThisHotkey < 300)
     MouseClick, X1, sx, sy, 1, 0
   return
本日のツッコミ(全1件) [ツッコミを入れる]
_ tamo (2010-09-22 (Wed) 16:37)

4行目の ahk_id %hwnd% は A に変えないとダメかな。


«前の日記(2009-12-21 (Mon)) 最新 次の日記(2009-12-24 (Thu))»