Перемещение курсора на рабочем столе другого пользователя
У меня есть программа которая перемещает курсор по определенным ивентам, она запускается от LOCAL_SYSTEM. Перемещение курсора реализовано через стандартный инструмент windows.
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool SetCursorPos(int x, int y);
Но т. к. программа запущена в "нулевой" сессии, курсор у пользователя двигаться не будет. Читая документацию, я увидел что вроде как можно, с помощью SetThreadDesktop, перемещать курсор на обычном пользователе. Но из-за незнания как работает Windows stations, и отсутствия опыта работы с p/invoke, я не могу реализовать это сам.
Я хочу понять, будет ли моя задумка вообще работать, и если да, то хотя бы понять как примерно это сделать.