¿Cómo se pueden crear los accesos directos de files y carpetas de Windows a través del código C # .NET?

Estoy construyendo una carpeta de repository y una estructura de files con muchas dependencies en el control de versiones usando .NET para nuestro almacén de datos. Actualmente tengo un código para crear files ficticios y carpetas con el código C # (ver a continuación). Sin embargo, hay objects que se comparten. Así que me gustaría crear accesos directos a los files de Windows y accesos directos a las carpetas de Windows, así como a los files. ¿Cómo se vería el código en C # para lograr esto?

Crear carpeta a través del código C # .NET:

string activeDir = @"C:\Source\EDW\dw-objects\trunk\table-objects"; string objectName = reader[0].ToString(); string newPath = System.IO.Path.Combine(activeDir, objectName); System.IO.Directory.CreateDirectory(newPath); 

El código varía según los files según el formatting

Utilice ShellClass para crear accesos directos; también necesitará get el directory especial del escritorio utilizando Environment.SpecialFolder.DesktopDirectory

Un muy buen ejemplo que muestra paso a paso se puede encontrar aquí http://www.codeproject.com/Articles/146757/Add-Remove-Startup-Folder-Shortcut-to-Your-App

Eche un vistazo a este artículo que le muestra cómo manipular puntos de unión NTFS utilizando c #. Debido a que deseará acceder a las carpetas, necesitará puntos de unión en lugar de zonas de exclusión, ya que a uno le sigue el procesamiento de la máquina y el otro no.