Создание ярлыка программно - 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")
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы