C# İle Kurulu Bir Uygulamanın Yolunu, Adresini Bulmak

Bilgisayarda kurulu veya yüklü olduğunu bildiğiniz bir uygulamanın tam yolunu bulmak isteyebilirsiniz. Bu gibi bir durumda aslında başvurulması gereken yöntem iç içe bir foreach döngüsü ve Directory sınıfından ibaret olacaktır.

Diyelim ki uygulamamızın adı notepad++.exe olsun. Bu dosyanın da C:\Program Files (x86)\ dizininde kurulu olduğunu biliyoruz.

İşte bu gibi bir durumda aşağıdaki kodu rahatlıkla kullanabiliriz;

string sDir = @"C:\Program Files (x86)";
            string[] directories = Directory.GetDirectories(sDir);

            List<string> files = new List<string>();

            foreach (var directory in directories)
            {
                try
                {
                    string[] tempFiles = Directory.GetFiles(directory, "notepad++.exe", SearchOption.AllDirectories);
                    foreach (var file in tempFiles)
                    {
                        files.Add(file);
                        Console.WriteLine(file);
                    }
                }
                catch (Exception)
                { }
            }
            if (files.Count == 0)
            {
                Console.WriteLine("Hiçbir kayıt bulunamadı!");
            }
            Console.ReadKey();

Burada, try – catch bloğunu kullanmamın sebebi; Bazı uygulamaların dizinlerine erişmekte başarısız olabiliriz. Örneğin temp klasörü altında veya windows klasörü altında o an çalışan bir uygulama geçici/kalıcı ancak dışarıdan erişime izin verilmeyen bir klasör oluşturmuş olabilir.
Eğer bu bloğu kullanmazsanız “… yoluna erişim reddedildi.” gibi bir hata almanız kaçınılmazdır. Bu gibi bir durumda kalmamak için dizinler listeye eklenir iken hata alınabilecek dizinleri listeye eklemeden catch bloğuna düşürüp bir sonraki dizinden ekleme işlemimize devam etmemiz gerekir.

Bu işlemin sonucunda bulacağınız adresler dosyaların tam adresleri olacaktır.

C:\\Program Files (x86)\\Notepad++\\notepad++.exe

gibi…

Share this Story

Related Posts

Kimler Neler Demiş?

avatar
  Subscribe  
Bildir

Sponsor Bağlantılar

Sponsor Bağlantılar