使用C#讀取注冊表的某些鍵值


背景

最近在做一個功能的時候,需要判斷某個軟件是否安裝,如果沒有安裝不顯示對應的功能。我個人覺得最好注冊表中讀取某個鍵值,用對應的鍵值來判斷是否安裝,因為每個軟件安裝之后都會在注冊表中注冊對應的鍵值,並且有些鍵值是獨一無二的。開始的時候使用的是C# ,所以自己直接去官網看了是否有對應的API,之后自己做了測試發現是可以成功的。下面就把自己的測試代碼貼上,用於記錄這次的學習。

代碼

class Program
    {
        static void Main(string[] args)
        {
            string registry_key = @"Software\Microsoft\Office\";
            int i = 0;
            using (RegistryKey key = Registry.CurrentUser.OpenSubKey(registry_key))
            {
                foreach (string subkey_name in key.GetSubKeyNames())
                {
                    Console.WriteLine(++i + "\t" + subkey_name);
                    using (RegistryKey subkey = key.OpenSubKey(subkey_name))
                    {
                        Console.WriteLine(subkey.GetValue("DisplayName"));
                    }

                    if (subkey_name.Contains("Teams"))
                    {
                        RegistryKey teamsKey = key.OpenSubKey(subkey_name);
                        foreach (string teamsNames in teamsKey.GetSubKeyNames())
                        {
                            Console.WriteLine("\t\t" + teamsNames);
                        }
                        object displayName = teamsKey.GetValue("ApplicationDescription");
                        Console.WriteLine("\t\t Name is " + displayName.ToString());
                    }
                }
            }

            Console.ReadKey();
        }
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM