Создание ярлыка программно - C#
Формулировка задачи:
Как создать ярлык программно?
непротив посмотреть еще какие нить методы.
сам нашел кое что ))) если кому надо то вот код
// Основные классы using System.Runtime.InteropServices; ... static class ShellLink { [ComImport, Guid("000214F9-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] internal interface IShellLinkW { [PreserveSig] int GetPath( [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszFile, int cch, ref IntPtr pfd, uint fFlags); [PreserveSig] int GetIDList(out IntPtr ppidl); [PreserveSig] int SetIDList(IntPtr pidl); [PreserveSig] int GetDescription( [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszName, int cch); [PreserveSig] int SetDescription( [MarshalAs(UnmanagedType.LPWStr)] string pszName); [PreserveSig] int GetWorkingDirectory( [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszDir, int cch); [PreserveSig] int SetWorkingDirectory( [MarshalAs(UnmanagedType.LPWStr)] string pszDir); [PreserveSig] int GetArguments( [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszArgs, int cch); [PreserveSig] int SetArguments( [MarshalAs(UnmanagedType.LPWStr)] string pszArgs); [PreserveSig] int GetHotkey(out ushort pwHotkey); [PreserveSig] int SetHotkey(ushort wHotkey); [PreserveSig] int GetShowCmd(out int piShowCmd); [PreserveSig] int SetShowCmd(int iShowCmd); [PreserveSig] int GetIconLocation( [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszIconPath, int cch, out int piIcon); [PreserveSig] int SetIconLocation( [MarshalAs(UnmanagedType.LPWStr)] string pszIconPath, int iIcon); [PreserveSig] int SetRelativePath( [MarshalAs(UnmanagedType.LPWStr)] string pszPathRel, uint dwReserved); [PreserveSig] int Resolve(IntPtr hwnd, uint fFlags); [PreserveSig] int SetPath( [MarshalAs(UnmanagedType.LPWStr)] string pszFile); } [ComImport, Guid("00021401-0000-0000-C000-000000000046"), ClassInterface( ClassInterfaceType.None)] private class shl_link {} internal static IShellLinkW CreateShellLink() { return (IShellLinkW)(new shl_link()); } } public static class ShortCut { public static void Create( string PathToFile, string PathToLink, string Arguments, string Description) { ShellLink.IShellLinkW shlLink = ShellLink.CreateShellLink(); Marshal.ThrowExceptionForHR(shlLink.SetDescription(Description)); Marshal.ThrowExceptionForHR(shlLink.SetPath(PathToFile)); Marshal.ThrowExceptionForHR(shlLink.SetArguments(Arguments)); ((System.Runtime.InteropServices.ComTypes.IPersistFile)shlLink).Save(PathToLink, false); } }
Решение задачи: «Создание ярлыка программно»
textual
Листинг программы
public bool CheckAutoLoad(string name, string path) { return System.IO.File.Exists(path + "\\" + name + ".lnk") }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д