I solved my problems, after some research, I got something interesting that is likely to work all the time.
Instead of trying to save the cursor icon and load it, I thought of another idea.
, , (, , - ), , Windows, , , , .
, , , , , , , .
, , - "" , , , , , , :
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern Int32 SystemParametersInfo(UInt32 uiAction,UInt32 uiParam, String pvParam, UInt32 fWinIni);
msdn, - , "SPI_SETCURSORS (0x57)", :
" . uiParam , pvParam - NULL."
, , , :
[DllImport("User32.dll", CharSet = CharSet.Ansi, BestFitMapping = false, ThrowOnUnmappableChar = true)]
private static extern IntPtr LoadCursorFromFile(String str);
uint SPI_SETCURSORS = 0x57;
var NewArrow = LoadCursorFromFile("C:\\Users\\mtnju\\Downloads\\invisible.cur");
SetSystemCursor(NewArrow, OCR_NORMAL);
SystemParametersInfo(SPI_SETCURSORS, 0, null, 0);
, 5 , - ... , , , , .