unit mousePosn; { This unit provides a procedure for setting the mouse position. } { This type of operation is not generally recommended, the mouse } { belongs to the user. But for those rare occasions when you } { just have to do it... } { NOTE: 'newPt' and 'thePt' are in global coordinates. } interface uses types; procedure SetMouse (newPt: point); procedure getRawMouse (var thePt: point); implementation type pointPtr = ^point; intPtr = ^integer; var MTemp: longint; RawMouse: longint; CrsrNew: longint; procedure SetMouse (newPt: point); begin MTemp := $828; RawMouse := $82C; CrsrNew := $8CE; pointPtr(MTemp)^ := newPt; pointPtr(RawMouse)^ := newPt; intPtr(CrsrNew)^ := -1; end; procedure getRawMouse (var thePt: point); begin RawMouse := $82C; thePt := pointPtr(RawMouse)^; end; end.