Creo que lo que estas buscando es algo como la personalización de una carpeta no? en tal caso deberías usar la escritura de un archivo de "texto", pues la información que lee la Shell viene de un archivo
Desktop.ini con atributos HS en la carpeta personalizada, la información que éste archivo contiene es algo como ésto:
Código:
[.ShellClassInfo]
IconFile=%SystemRoot%\system32\SHELL32.dll
IconIndex=20