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