我想知道我将如何测试并查看某个exe是否位于用户计算机上?例如,如果我想找到Skype,我会运行这样的函数:
if(checkForSkypeonUsrcomputer("Skype.exe")==true){
//Script detects skype.exe on users computer
} else {
//Script detects skype.exe is not on users computer
}
checkForSkypeonUsrcomputer(string exetype)
{
CheckForExeOnUsersComputer(exetype);
return TrueOrFalse;
}
^这只是一个例子,试图解释我想做什么^
我到处寻找解决方案而找不到解决方案。
答案 0 :(得分:1)
尝试在"卸载"下的注册表中找到该应用。键。 HKLM \软件\微软\的Windows \ CurrentVersion \卸载 此处列出了可以卸载的所有应用程序,您可以按其显示名称找到它们:
private string FindByDisplayName(RegistryKey parentKey, string name)
{
string[] nameList = parentKey.GetSubKeyNames();
for (int i = 0; i < nameList.Length; i++)
{
RegistryKey regKey = parentKey.OpenSubKey(nameList[i]);
try
{
if (regKey.GetValue("DisplayName").ToString() == name)
{
return regKey.GetValue("InstallLocation").ToString();
}
}
catch { }
}
return "";
}
请告诉我这是否适合您:)
答案 1 :(得分:1)
try this link 你可以根据扩展来过滤结果,甚至你也可以根据文件名进行过滤 。 例如:Directory.GetFiles(dirpath).Where(file =&gt; file.EndsWith(“。ext”))