Two potential solutions:
1. Can you hide desktop icons by placing them (way) outside the desktop's viewable boundaries? If so, then you could just move each desktop's icons into and out-of view when the user switches desktops. But, even if it does work, it is slightly hackish. You'd
also have to capture screen resolution changes, to see if you have to move the icons further out of view.
2. Most desktop icons are .lnk files, which are stored in the current user's profile folder. You could create some subfolders, call them Desktop 1's Icons, Desktop 2's Icons, etc. When the user switches desktops, move the .lnk files into and out of the profile
folder. Windows will then update the desktop. You'd also need to find the place where Windows stores the icon positions, and make sure you save/restore those values, too. Also, make your new subfolders hidden so that only power users with the "show hidden
files and folders" property set will be able to see them; these subfolders will then show up the same on any desktop.
I like #2 the best, and it shouldn't have to rely on any undocumented behavior.
And one mostly unrelated feature request:
Could you please make your "Recover Desktop Windows" dialog box be an "always on top" window? This would greatly speed up the process of restoring 10-30 windows across six desktops.
Then maybe you could add a button or something to show/restore the desktop icons.
...and a big Thank-You!
P.S. http://www.osnews.com has a rotating "ad" space where the OSNews staff "plug" free programs that they use personally, e.g. Paint.Net, Programmer's Notepad, etc. Maybe you could email them about VVDM? IMO, the 1.0 release will fit