ایجاد Shortcut برای یک برنامه

فرض کنید می خواهیم در سی شارپ برای برنامه Notpad یک میانبر بر روی صفحه دسکتاپ ایجاد کنیم. برای این کار ابتدا روی نام پروژه راست کلیک کرده add refrenece در Tab مربوط به com گزینه Windows Script Host Object Model انتخاب کنید :

create-a-shortcut-for-an-application-csharp

و بعد :

using System;
using System.Windows.Forms;
using IWshRuntimeLibrary;
using System.IO;

namespace CreateShortcut
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
                
        public static void CreateShortcut(string destination)                                                            
        {                                                                                                                
           WshShell wshShell = new WshShell();                                                                           
           object destFolder = (object)destination;                                                                      
           string fileName = Path.Combine((string)wshShell.SpecialFolders.Item(ref destFolder),"Notepad.lnk");           
           IWshShortcut shortcut =(IWshShortcut)wshShell.CreateShortcut(fileName);                                       
           shortcut.TargetPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System),"notepad.exe");
           shortcut.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);                    
           shortcut.Description = "Notepad Text Editor";                                                                 
           shortcut.Hotkey = "CTRL+ALT+N";                                                                               
           shortcut.WindowStyle = 3;                                                                                     
           shortcut.IconLocation = "notepad.exe, 0";                                                                     
           shortcut.Save();                                                                                              
        }                                                                                                                

        private void Form1_Load(object sender, EventArgs e)
        {
            CreateShortcut("Desktop");
        }
    }
}

همانطور که در کد بالا مشاهده می کنید اگر بخواهیم میانبر در صفحه دسکتاپ نمایش داده شود به صورت زیر عمل می کنیم :

CreateShortcut("Desktop");

و اگر بخواهیم در منوی استارت نمایش داده شود به صورت زیر :

CreateShortcut("StartMenu");