Я хотел бы сделать какой-нибудь собственный рисунок на рабочем столе Windows, чтобы он заменял фон рабочего стола (обои). Моя первая попытка заключалась в том, чтобы получить DC для desktopListView
и нарисовать на нем:
IntPtr desktopDC = GetWindowDC(desktopListView);
Graphics g = Graphics.FromHwnd(desktopDC); //<-- fails on out of memory error
Затем я попытался создать NativeWindow и захватить WM_PAINT
сообщение, назначив дескриптор собственного окна рабочему столу и нарисовав свой собственный рисунок, но я не смог увидеть никаких сообщений на рабочем столе.
В идеале я бы хотел сделать это в WPF, а не в формах Windows. Любая подсказка, как создать окно WPF, которое я могу нарисовать, которое находится под значками рабочего стола, но поверх обоев, так что оно игнорирует любые сообщения мыши, а рабочий стол продолжает нормально работать?