// Get attributes of all the recognizers that are installed
        public static ReadOnlyCollection <RecognizerInfo> InstalledRecognizers()
        {
            List <RecognizerInfo> recognizers = new();

            // Get list of ObjectTokens
            using (ObjectTokenCategory category = ObjectTokenCategory.Create(SAPICategories.Recognizers))
            {
                if (category != null)
                {
                    // For each element in list
                    foreach (ObjectToken token in (IEnumerable <ObjectToken>)category)
                    {
                        // Create RecognizerInfo + add to collection
                        RecognizerInfo recognizerInfo = RecognizerInfo.Create(token);

                        if (recognizerInfo == null)
                        {
                            // But if this entry has a corrupt registry entry then skip it.
                            // Otherwise one bogus entry prevents the whole method from working.
                            continue;
                        }
                        recognizers.Add(recognizerInfo);
                    }
                }
            }
            return(new ReadOnlyCollection <RecognizerInfo>(recognizers));
        }
        public static ReadOnlyCollection <RecognizerInfo> InstalledRecognizers()
        {
            List <RecognizerInfo> list = new List <RecognizerInfo>();

            using (ObjectTokenCategory objectTokenCategory = ObjectTokenCategory.Create("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Recognizers"))
            {
                if (objectTokenCategory != null)
                {
                    foreach (ObjectToken item in (IEnumerable <ObjectToken>)objectTokenCategory)
                    {
                        RecognizerInfo recognizerInfo = RecognizerInfo.Create(item);
                        if (recognizerInfo != null)
                        {
                            list.Add(recognizerInfo);
                        }
                    }
                }
            }
            return(new ReadOnlyCollection <RecognizerInfo>(list));
        }