Arrrghmatey Posted July 28, 2005 Posted July 28, 2005 I'm attempting to use this code (compiled using the beta): Func MouseTrap($l_left, $l_top, $l_right, $l_bottom) $v_Rect = DllStructCreate('int;int;int;int') DllStructSetData($v_Rect, 1, $l_left) DllStructSetData($v_Rect, 2, $l_top) DllStructSetData($v_Rect, 3, $l_right) DllStructSetData($v_Rect, 4, $l_bottom) $ai_Ret = DllCall('user32.dll', 'int', 'ClipCursor', 'ptr', DllStructGetPtr($v_Rect)) DllStructDelete($v_Rect) Return $ai_Ret[0] EndFunc But I don't really understand it. I want to create a box around the cursor that only allows it to move one pixel to the right. (to combat my previous problem of the cursor being warped around against my control) Then, I want to unblock it again and allow free movement. I'm a little lost as to where to start...
buzz44 Posted July 29, 2005 Posted July 29, 2005 Do you know how to use the function with its parametres? When running your computer normally you mouse is already 'trapped', it is confined by the width and height of your screen. Using the above function you can increase or decrease the width and height of the trap aswell as the starting co-ordinates. The below will perform a screen mouse trap, as pointed above, you shold notice no difference because it just restrains your mouse to the screen width/height. 0,0 is the top left co-ordinate and @DesktopWidth, @DesktopHeight is the bottom right co-ordinate. Hope you understand. MouseTrap(0, 0, @DesktopWidth, @DesktopHeight) While 1 Sleep(100) Wend Func MouseTrap($l_left, $l_top, $l_right, $l_bottom) $v_Rect = DllStructCreate('int;int;int;int') DllStructSetData($v_Rect, 1, $l_left) DllStructSetData($v_Rect, 2, $l_top) DllStructSetData($v_Rect, 3, $l_right) DllStructSetData($v_Rect, 4, $l_bottom) $ai_Ret = DllCall('user32.dll', 'int', 'ClipCursor', 'ptr', DllStructGetPtr($v_Rect)) DllStructDelete($v_Rect) Return $ai_Ret[0] EndFunc qq
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now