1. 程式人生 > 實用技巧 >wpf 自動建立桌面快捷方式

wpf 自動建立桌面快捷方式

`
using IW = IWshRuntimeLibrary;
public static void CreateShortcutOnDesktop( string LnkName)
{

        String shortcutPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), LnkName + ".lnk");
        if (!System.IO.File.Exists(shortcutPath))
        {
            string AppName = System.IO.Path.GetFileName(System.Reflection.Assembly.GetEntryAssembly().GetName().Name);
            // 獲取當前應用程式目錄地址
            String exePath = AppDomain.CurrentDomain.BaseDirectory + AppName + ".exe";
            IW.IWshShell shell = new IW.WshShell();
            // 確定是否已經建立的快捷鍵被改名了
            foreach (var item in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "*.lnk"))
            {
                IW.WshShortcut tempShortcut = (IW.WshShortcut)shell.CreateShortcut(item);
                if (tempShortcut.TargetPath == exePath)
                {
                    return;
                }
            }
            IW.WshShortcut shortcut = (IW.WshShortcut)shell.CreateShortcut(shortcutPath);
            shortcut.TargetPath = exePath;
            shortcut.Arguments = "";// 引數  
            shortcut.Description = AppName + exePath;
            shortcut.WorkingDirectory = Environment.CurrentDirectory;//程式所在資料夾,在快捷方式圖示點選右鍵可以看到此屬性  
            shortcut.IconLocation = exePath;//圖示,該圖示是應用程式的資原始檔  
            //shortcut.Hotkey = "CTRL+SHIFT+W";//熱鍵,發現沒作用,大概需要註冊一下  
            shortcut.WindowStyle = 1;
            shortcut.Save();
            MessageBox.Show("桌面快捷方式已建立!");
        }
    }`