SetCursorPos function (winuser.h)

Moves the cursor to the specified screen coordinates. If the new coordinates are not within the screen rectangle set by the most recent ClipCursor function call, the system automatically adjusts the coordinates so that the cursor stays within the rectangle.

Syntax

BOOL SetCursorPos(
  [in] int X,
  [in] int Y
);

Parameters

[in] X

Type: int

The new x-coordinate of the cursor, in screen coordinates.

[in] Y

Type: int

The new y-coordinate of the cursor, in screen coordinates.

Return value

Type: BOOL

Returns nonzero if successful or zero otherwise. To get extended error information, call GetLastError.

Remarks

The cursor is a shared resource. A window should move the cursor only when the cursor is in the window's client area.

The calling process must have WINSTA_WRITEATTRIBUTES access to the window station.

The input desktop must be the current desktop when you call SetCursorPos. Call OpenInputDesktop to determine whether the current desktop is the input desktop. If it is not, call SetThreadDesktop with the HDESK returned by OpenInputDesktop to switch to that desktop.

Examples

For an example, see Using the Keyboard to Move the Cursor.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
API set ext-ms-win-ntuser-window-l1-1-2 (introduced in Windows 10, version 10.0.10240)

See also

ClipCursor

Conceptual

Cursors

GetCursorPos

Reference

SetCaretPos

SetCursor

ShowCursor