Проверьте, установлен ли Skype
Я попытался исправить метод, который проверяет, установлен ли на компьютере пользователя Skype. Это я исправил / придумал:
- У меня на компьютере установлен Skype
- я исправил метод, который циклически проходит через все мои установленные программы
- Мой метод находит мои установленные программы, но он не может найти skype, хотя он установлен. Но мой метод находит другие программы, которые находятся в том же каталоге.
Есть ли у кого-нибудь идеи о том, как проверить, является ли Skype установлен на компьютере?
Метод, который я использовал, аналогичен этому:
1 ответ:
Просто используйте реестр:
using Microsoft.Win32; //Function uses Microsoft.Win32 to check registry value of //HKEY_CURRENT_USERSoftwareSkypePhoneSkypePath and returns false if //the key is null private bool isSkypeUser() { RegistryKey skype = Registry.CurrentUser.OpenSubKey(@"SoftwareSkypePhone"); if (skype != null && skype.GetValue("SkypePath") != null) { return true; } else { return false; } }
Http://brcline.com/blog/?tag=skype
Редактировать:
Грязный обходной путь состоит в том, чтобы перебирать папки StartMenu, ища ярлык Skype или папку. Вы должны использовать следующее перечисление SpecialFolder:
var startMenuPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonPrograms)
Надеюсь, это поможет!