Makale Özeti

Bu makalemde uygulamalarımızın kısayollarını IWshRuntimeLibrary bileşenini kullanarak masaüstüne nasıl simge olarak ekleyebileceğimizden bahsedeceğim. .Net ortamında bir uygulama oluşturduğumuzda uygulamamıza kısayol eklemek doğrudan mümkün olmadığından Windows Scripting Host Object Model yardımıyla kısayolları oluşturabiliriz.

Makale

        Merhabalar,

       Bu makalemde uygulamalarımızın kısayollarını IWshRuntimeLibrary bileşenini kullanarak masaüstüne nasıl simge olarak ekleyebileceğimizden bahsedeceğim. .Net ortamında bir uygulama oluşturduğumuzda uygulamamıza kısayol eklemek doğrudan mümkün olmadığından Windows Scripting Host Object Model yardımıyla kısayolları oluşturabiliriz.

      Örneğimizde uygulamamıza masaüstünde, start-up'da kısayollar oluşturacağız. Formumuzu aşağıdaki gibi tasarlayalım:




        Kodlamaya başlamadan önce projemize IWshRuntimeLibrary referansını eklememiz gerekecek. Bunun için referans ekleme ekranını açıp COM sekmesindeki listede yeralan
Windows Script Host Object Model component'ini seçmeliyiz:



        Ardından kodumuza aşağıdaki using statement'i ekliyoruz:

   
    using IWshRuntimeLibrary;

        Ardından da
kısayol oluşturmamızı sağlayacak aşağıdaki metodu yazıyoruz. Bu metod parametre olarak kısayolun nerede oluşturulacağını (Environment.SpecialFolder) ve kısayolun adını (linkName) alacak ve kısayolu belirtilen parametrelerle oluşturacak:

        private void KisayolOlustur(Environment.SpecialFolder f, string linkName)
        {
            IWshRuntimeLibrary.IWshShortcut kisayol;
//kısayolu oluşturuyoruz.
            WshShell
w = new WshShell();
//WshShell class'ının instance'ını alıyoruz.
            kisayol = (IWshShortcut)w.CreateShortcut(Environment.GetFolderPath(f) + linkName);
//kısayolun nerede ve hangi adla oluşturulacağını parametreler ile belirtiyoruz.
            kisayol.TargetPath = Application.ExecutablePath;
//kısayolun çalıştıracağı uygulamanın yolunu belirtiyoruz.
            kisayol.Description = "İlk kısayolumuzu oluşturduk.";
//kısayol açıklamasını belirtiyoruz. 
           
kisayol.IconLocation = Application.StartupPath + @"\1.ico";
//kısayolun simgesi
            kisayol.Save();
        }

        Metodda kısayolun oluşturulacağı yeri Environment.SpecialFolder enum'undan alınacak şekilde yazmış olmama rağmen başka bir lokasyon da CreateShortcut metodunun içine yazılarak o lokasyona oluşturulması sağlanabilir. Ayrıca TargetPath property'sinde uygulamanın kendisinin yolu belirtilmiş olmasına rağmen herhangi başka bir dosyanın da yolu yazılarak o dosya çalıştırılabilir:

         kisayol.TargetPath = @"C:\Windows\Notepad.exe";

         Kısayolun Description property'si kısayolun tooltip'inin set edildiği property'dir.

        Son olarak kısayolun simgesinin lokasyonunu Application.StartupPath olarak set ettiğimizde uygulamanın debug klasöründe bulunan simgeyi işaret etmiş oluruz. Fakat simgenin lokasyonu da başka bir lokasyon olarak set edilebilir.

        Şimdi sıra formumuzdaki iki butonun kodunda yazmış olduğumuz metodla masaüstünde ve bilgisayar başlarken uygulamanın çalışması için Startup'da kısayol oluşturmaya geldi:

        private void btnMasaustu_Click(object sender, EventArgs e)
        {
            KisayolOlustur(Environment.SpecialFolder.Desktop, @"\Kısayolum.lnk");
        }

        private void btnStartUp_Click(object sender, EventArgs e)
        {
            KisayolOlustur(Environment.SpecialFolder.Startup, @"\Kısayolum.lnk");
        }

       Uygulamamızı çalıştırdığımızda ve butonlara tıkladığımızda masaüstünde ve startup klasöründe kısayollarımız oluşturulacaktır:



        Makalemin başında da belirttiğim gibi .Net ortamında smartclient uygulamalar başta olmak üzere bazı durumlarda doğrudan kısayol oluşturmak mümkün olmasa da IWshRuntimeLibrary namespace'i ile kolayca kısayol oluşturabilir ve uygulamalarımızda kullanabiliriz.

Faydalı olması dileğiyle.


Işıl Orhanel

Örnek Kodlar