我想扫描并获取计算机中的所有应用程序文件 我知道如何获取它们,但我只想要可执行的应用程序(安装程序除外)。
基本上,我想要的是蒸汽使用的功能。 例:
答案 0 :(得分:3)
您可以使用此代码在目录
中递归查找所有exes DirectoryInfo dirInfo = new DirectoryInfo(@"C:\Program Files");
var exeFiles = dirInfo.EnumerateFiles("*.exe", SearchOption.AllDirectories);
foreach ( var exeFile in exeFiles )
{
Console.WriteLine( exeFile );
}
根据您对可执行文件的定义,您可能还必须执行*.com
,*.bat
等等。但是无法区分安装程序exe与常规exe文件。您可能必须应用一些启发式
答案 1 :(得分:2)
如果要获取系统上已安装应用程序的列表,可以查询注册表。有关示例,请参阅Get installed applications in a system。