Замена обоев рабочего стола / рисование на рабочем столе

Я хотел бы сделать собственный рисунок на рабочем столе Windows, чтобы он заменял фон рабочего стола (обои). Моей первой попыткой было получить DC дляdesktopListView и нарисуйте к нему:

IntPtr desktopDC = GetWindowDC(desktopListView);
Graphics g = Graphics.FromHwnd(desktopDC); //<-- fails on out of memory error

Затем я попытался создать NativeWindow и захватитьWM_PAINT сообщение, назначив дескриптор собственного окна на рабочий стол и сделать свой собственный рисунок, но я не смог увидеть какие-либо сообщения на рабочий стол.

В идеале я бы хотел сделать это в WPF и вообще не в форме Windows. Любая подсказка, как создать окно WPF, которое я могу нарисовать, которое находится под значками рабочего стола, но поверх обоев, так что оно игнорирует любые сообщения мыши, и рабочий стол продолжает работать нормально?

Ответы на вопрос(2)

Ваш ответ на вопрос