@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm !!!!Summary: This function creates a shortcut. A remote application interface (RAPI) version of this function exists, CeSHCreateShortcut (RAPI). (From MSDN.) !!!!C# Signature: [DllImport("coredll.dll")] static extern int SHCreateShortcut(StringBuilder szShortcut, StringBuilder szTarget); !!!!VB Signature: Private Declare Function SHCreateShortcut% Lib "coredll" (ByVal szShortcut As System.Text.StringBuilder, ByVal szTarget As System.Text.StringBuilder)!!!!User-Defined Types: None. !!!!Alternative Managed API: None. !!!!Notes: It seems szTarget should start and end with a double-quote if it contains spaces -- so, you should always quote it. szShortcut should end with ".lnk". !!!!Tips & Tricks: Please add some! !!!!Sample Code: /** Put a shortcut to Program Files\Foo\Foo.exe in Windows\Start Menu\Programs **/ [DllImport("coredll.dll")] static extern int SHGetSpecialFolderPath(IntPtr hwndOwner, StringBuilder lpszPath, int nFolder, int fCreate); [DllImport("coredll.dll")] static extern int SHCreateShortcut(StringBuilder szShortcut, StringBuilder szTarget); const int CSIDL_PROGRAMS = 2; // \Windows\Start Menu\Programs // Get location of "Programs" folder StringBuilder programs = new StringBuilder(255); SHGetSpecialFolderPath((IntPtr)0, programs, PlatformUtil.CSIDL_PROGRAMS, 0); StringBuilder shortcutLocation = new StringBuilder(Path.Combine(programs.ToString(), "Foo.lnk"); // Note that we quote the path StringBuilder shortcutTarget = new StringBuilder("\"" + @"\Program Files\Foo\Foo.exe" + "\""); bool rv = PlatformUtil.SHCreateShortcut(shortcutLocation, shortcutTarget); !!!!Documentation: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceui40/html/cerefSHCreateShortcut.asp
Edit coredll.SHCreateS...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.