【发布时间】:2012-03-28 20:56:34
【问题描述】:
我尝试修复一种方法来检查用户是否在他的计算机上安装了 Skype。这是我修复/想出的:
- 我的电脑上安装了 Skype
- 我已经修复了一个循环遍历所有已安装程序的方法
- 我的方法找到了我安装的程序,但它无法找到Skype,虽然它已安装。但我的方法会找到同一目录中的其他程序。
有人对如何检查计算机上是否安装了 Skype 有任何想法吗?
我使用的方法和这个类似:
【问题讨论】:
我尝试修复一种方法来检查用户是否在他的计算机上安装了 Skype。这是我修复/想出的:
有人对如何检查计算机上是否安装了 Skype 有任何想法吗?
我使用的方法和这个类似:
【问题讨论】:
只需使用注册表:
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)
希望对你有帮助!
【讨论】: