C#应用程序扫描

时间:2012-01-21 16:09:09

标签: c# executable

我想扫描并获取计算机中的所有应用程序文件 我知道如何获取它们,但我只想要可执行的应用程序(安装程序除外)。

基本上,我想要的是蒸汽使用的功能。 例: enter image description here

2 个答案:

答案 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