none
c# process name'den display name'e ulaşmak RRS feed

Tüm Yanıtlar

  •             public static Dictionary<string, string> installedApps = null;
                public static Dictionary<string, string> InstalledApps
                {
                    get
                    {
                        if (installedApps == null)
                        {
                            string SoftwareKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
                            RegistryKey RegKey = Registry.LocalMachine.OpenSubKey(SoftwareKey);
                            string[] SubKeys = RegKey.GetSubKeyNames();
                            installedApps = new Dictionary<string, string>();
                            RegistryKey SubKey;
                            string DisplayName;
                            foreach (string sKey in SubKeys)
                            {
                                SubKey = RegKey.OpenSubKey(sKey);
                                try
                                {
                                    DisplayName = SubKey.GetValue("DisplayName").ToString().Trim();
                                    if (!string.IsNullOrEmpty(DisplayName))
                                    {
                                        installedApps.Add(sKey, DisplayName);
                                    }
                                }
                                catch
                                {
                                    Application.DoEvents();
                                }
                                SubKey.Close();
                            }
                            RegKey.Close();
                        }
                        return installedApps;
                    }
                }

    Yüklenmiş bir yazılımın, DisplayName özelliğini almak için,

    textBox1.Text = InstalledApps["ProcessNameBuraya"];


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...


    29 Kasım 2017 Çarşamba 15:13
  •             public static Dictionary<string, string> installedApps = null;
                public static Dictionary<string, string> InstalledApps
                {
                    get
                    {
                        if (installedApps == null)
                        {
                            string SoftwareKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
                            RegistryKey RegKey = Registry.LocalMachine.OpenSubKey(SoftwareKey);
                            string[] SubKeys = RegKey.GetSubKeyNames();
                            installedApps = new Dictionary<string, string>();
                            RegistryKey SubKey;
                            string DisplayName;
                            foreach (string sKey in SubKeys)
                            {
                                SubKey = RegKey.OpenSubKey(sKey);
                                try
                                {
                                    DisplayName = SubKey.GetValue("DisplayName").ToString().Trim();
                                    if (!string.IsNullOrEmpty(DisplayName))
                                    {
                                        installedApps.Add(sKey, DisplayName);
                                    }
                                }
                                catch
                                {
                                    Application.DoEvents();
                                }
                                SubKey.Close();
                            }
                            RegKey.Close();
                        }
                        return installedApps;
                    }
                }

    Yüklenmiş bir yazılımın, DisplayName özelliğini almak için,

    textBox1.Text = InstalledApps["ProcessNameBuraya"];


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...


    Hocam hata alıyorum. 

    Birde installedApps'in içine kurulu programlarında displayName'lerini listeliyor şuan. Ya da ben hatalı kullanıyorum. 

    https://i.hizliresim.com/6yBOm3.png

    https://i.hizliresim.com/WGz5bN.png

    29 Kasım 2017 Çarşamba 16:05
  • Uygulama isimleri Büyük/Küçük harf duyarlıdır. Notepad++ yazmalıydınız...

    if (InstalledApps.ContainsKey("Notepad++")) //Kontrol için bunu kullanabilirsiniz...
        textBox1.Text = InstalledApps["Notepad++"];

    çalışacaktır.


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    29 Kasım 2017 Çarşamba 21:12
  • Bu iş için Process sınıfının GetProcessesByName fonksiyonunu kullanabilirsin. @Murat AKSARAY'ın yönteminde kurulum gerektirmeyen uygulamaları göremeyeceksin gibi duruyor. Görebiliyor olsan bile senin uygulaman çalıştıktan sonra başlatılan uygulamaları göremeyeceksin. Görebilmek için uygulamanı yeniden başlatman gerekir. Burayı incelersen nasıl kullanıldığını görebilirsin. Display Name için MainWindowTitle adlı bir özellik var onu kullanabilirsin. Diğer özellikler için buraya bakabilirsin 

    30 Kasım 2017 Perşembe 06:26
  • Zihin yorgunluğu nedeniyle sorunuzu bilgisayara yüklenmiş olan programlar üzerinden yanıtlamaya çalıştığımı henüz fark ettim. Doğru yöntem Olcay GÜZEL'in önerdiği yöntemdir. Benim kodlarımı bir yazılımın bilgisayarınıza yüklenmiş olup olmadığını kontrol etmek için kullanabilirsiniz. Başarılar...

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    30 Kasım 2017 Perşembe 07:18