LoadCursorFromFile

The LoadCursorFromFile function creates a cursor based on data contained in a file. The file is specified by its name or by a system cursor identifier. The function returns a handle to the newly created cursor. Files containing cursor data may be in either cursor (.CUR) or animated cursor (.ANI) format.

HCURSOR LoadCursorFromFile(
  LPCTSTR lpFileName  // pointer to name of cursor file, or system 
                      // cursor identifier
);
 

Parameters

lpFileName
Indicates the source of the file data to be used to create the cursor. The data in the file must be in either .CUR or .ANI format.

If the high-order word of lpszFileName is nonzero, it is a pointer to a string that is a fully qualified name of a file containing cursor data.

If the high-order word of lpszFileName is zero, the low-order word is a system cursor identifier. The function then searches the [Cursors] entry in the WIN.INI file for the file associated with the name of that system cursor. Here is a list of system cursor names and identifiers:
System Cursor Name System Cursor Identifier
"AppStarting" OCR_APPSTARTING
"Arrow" OCR_NORMAL
"Crosshair" OCR_CROSS
"Hand" Windows NT 5.0 and later: OCR_HAND
"Help" OCR_HELP
"IBeam" OCR_IBEAM
"Icon" OCR_ICON
"No" OCR_NO
"Size" OCR_SIZE
"SizeAll" OCR_SIZEALL
"SizeNESW" OCR_SIZENESW
"SizeNS" OCR_SIZENS
"SizeNWSE" OCR_SIZENWSE
"SizeWE" OCR_SIZEWE
"UpArrow" OCR_UP
"Wait" OCR_WAIT

For example, if the WIN.INI file contains the following :

[Cursors] 
    Arrow = "arrow.ani" 
 

Then the call

LoadCursorFromFile((LPWSTR)OCR_NORMAL) 
 

causes the LoadCursorFromFile function to obtain cursor data from the file ARROW.ANI. If the WIN.INI file doesn't contain an entry for the specified system cursor, the function fails and returns NULL.

Return Values

If the function is successful, the return value is a handle to the new cursor.

If the function fails, the return value is NULL. To get extended error information, call GetLastError. GetLastError may return the following value:

Value Meaning
ERROR_FILE_NOT_FOUND The specified file could not be found.

QuickInfo

  Windows NT: Requires version 3.5 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Cursors Overview, Cursor Functions, LoadCursor, SetCursor, SetSystemCursor