We want to replace all the default Windows cursors (as well as the specific cursors that applications set) by our own cursor. We need to make sure that our cursor is used all the time, everywhere, in all windows, all applications, and that no other application can change it.
We have tried to use the SetSystemCursor, but most applications (ex. MS Excel) set their own cursors (they probably use SetCursor API call and/or handling WM_SETCURSOR windows message), so this solution is not stable.
We have tried to use the SetWindowsHookEx on WM_SETCURSOR and WM_MOUSEMOVE, but we did not fully suceed - there is some blinking as the applications still manage to change the cursor somehow.
We need a stable solution, so that there is only our cursor used, and no other applications can change it.
SUGGESTION: Probably requires API hooking at the kernel level to make sure the cursor cannot be changed by any application.