Я никогда не делал этого, но вот подход, который я бы выбрал.
- Внедрение DLL в проводник через SetWindowsHookEx .
- Получить ручку с помощью GetDesktopWindow .
- Подкласс рабочего стола, используя GetWindowLongPtr & SetWindowLongPtr .
- Выполняйте все свои фантазии при рендеринге в новом WndProc , который вы подключили.
Имейте в виду, что разрыв окна рабочего стола, вероятно, заблокирует ваш компьютер, поскольку все его дочерние окна (читай: каждое окно для этого пользователя), вероятно, будут затронуты.
Кроме того, учитывая историю совместимости Windows um rich , ищите манекены, предназначенные для предотвращения злоупотреблений. В частности, я совсем не удивлюсь, если GetDesktopWindow на самом деле не вернет искомое окно рабочего стола. Возможно, вам придется покопаться в Spy ++ или чем-то подобном, в основном.