898 questions
You can use the Shell.
Test with a shortcut to Notepad :
// Add reference to "Microsoft Shell Controls And Automation"
string sLinkFile = @"\TestLink.lnk";
string sFullLinkFile = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu) + sLinkFile;
if (!System.IO.File.Exists(sFullLinkFile))
System.IO.File.Create(sFullLinkFile).Dispose();
Shell shell = new Shell();
Shell32.Folder folder = shell.NameSpace(new FileInfo(sFullLinkFile).Directory.FullName);
FolderItem fi = folder.ParseName(Path.GetFileName(sFullLinkFile));
ShellLinkObject link = (ShellLinkObject)fi.GetLink;
link.Path = @"C:\Windows\notepad.exe";
link.Description = "This is a test";
link.Save(sFullLinkFile);