Короткий ответ: вы не можете этого сделать (во всяком случае, в управляемом C #). Если это возможно, вам нужно будет использовать Interop, и вы, вероятно, будете вызывать то, что Windows не предлагает в качестве API.
... хотя ... как упоминал Оле Джейк, Stardock , похоже, делает это как-то ...
Рабочий стол - это отдельный элемент. Тот же процесс обрабатывает значки и обои за этими значками.
Вам разрешено менять обои на другое изображение, и вы имели возможность создавать Active Desktop , где будет отображаться содержимое HTML, но это было прекращено в Vista.
Что вы на самом деле пытаетесь сделать? Может быть, есть другой способ добиться подобного результата?