I rule so much. Even my kick-ass mouse functions rule.
Function MouseX(gadget=0) If Not gadget gadget=Desktop() hwnd=QueryObject(gadget,1) buffer=CreateBank (8) GetCursorPos (buffer) ScreenToClient (hwnd, buffer) x=PeekInt(buffer,0) FreeBank buffer Return x End Function Function MouseY(gadget=0) If Not gadget gadget=Desktop() hwnd=QueryObject(gadget,1) buffer=CreateBank(8) GetCursorPos(buffer) ScreenToClient(hwnd, buffer) y=PeekInt(buffer,4) FreeBank buffer Return y End Function Function MoveMouse(x,y,gadget=0) If Not gadget gadget=Desktop() hwnd=QueryObject(gadget,1) buffer=CreateBank(8) PokeInt buffer,0,x PokeInt buffer,4,y ClientToScreen(hwnd,buffer) x=PeekInt(buffer,0) y=PeekInt(buffer,4) SetCursorPos(x,y) FreeBank buffer MouseXSpeed MouseYSpeed End Function Function MouseDown(button) Select button Case 1 Return GetAsyncKeyState(1) Case 2 Return GetAsyncKeyState(2) Case 3 Return GetAsyncKeyState(4) End Select End Function