不用发email,看看ClipCursor()吧,然后就……引用MSDN里一小片断:
ClipCursor
The ClipCursor function confines the cursor to a rectangular area on the screen. If a subsequent cursor position (set by the SetCursorPos function or the mouse) lies outside the rectangle, the system automatically adjusts the position to keep the cursor inside the rectangular area. BOOL ClipCursor(
  CONST RECT *lpRect   // pointer to structure with rectangle
);
 
Parameterslprc 
Pointer to theRECT structure that contains the screen coordinates of the upper-left and lower-right corners of the confining rectangle. If this parameter is NULL, the cursor is free to move anywhere on the screen. Return Values
If the function succeeds, the return value is nonzero.If the function fails, the return value is zero. To get extended error information, callGetLastError. Res
The cursor is a shared resource. If an application confines the cursor, it must release the cursor by using ClipCursor before relinquishing control to another application. The calling process must have WINSTA_WRITEATTRIBUTES access to the window station. 

解决方案 »

  1.   

            clipP.X = 0
            clipP.Y = 0
            dummy& = ClientToScreen(Me.hWnd, clipP)
            
            'Set the clip rectangle
            clipR.Top = pctScreen.Top + clipP.Y ' Top of pctScreen + top of form
            clipR.Left = pctScreen.Left + clipP.X ' left of pctScreen + left of form, etc.
            clipR.Right = pctScreen.Left + pctScreen.Width + clipP.X
            clipR.Bottom = pctScreen.Top + pctScreen.Height + clipP.Y
            dummy& = ClipCursor&(clipR) ' Clip the cursor to the clipR rectangle