I've been trying to write a small utility that will modify the boundaries of where my mouse can go on the whole screen. I've used the the global mouse hook library that I found here (I'm using version 1), and then pass the mouse position information from the event it generates to my own function (just a test to see it working for now).
internal void ProcessMouseEvent(System.Drawing.Point point)
{
Cursor.Position = new Point(50,50);
}
When running it, the mouse does appear to flash to the specified point, but will instantly revert back to where it was before the change if it was a movement event. Only when it was done through a click event does it actually remain at the new position.