2012-01-21 185 views
0

我想掃描並獲取我的計算機中的所有應用程序文件。
我知道如何獲得它們,但我只想要可執行的應用程序(安裝程序除外)。C#應用程序掃描

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

+0

你的意思是安裝應用程序?或任何「可執行文件」存儲在您的硬盤? –

+2

什麼樣的應用程序是不可執行的? –

+0

所有的exe都是可執行的,但我的意思是別的。當你運行它們和類似的東西時,會有exe文件關閉。 – Ron

回答

2

如果要獲取系統上已安裝應用程序的列表,可以查詢註冊表。一個例子參考Get installed applications in a system

+0

我知道如何獲得已安裝的應用程序。我敢肯定,蒸汽使用這種解決方案結合一些過濾器和更多的功能,但我無法找出他們是如何做到的...... – Ron

3

您可以在一個目錄

DirectoryInfo dirInfo = new DirectoryInfo(@"C:\Program Files"); 
    var exeFiles = dirInfo.EnumerateFiles("*.exe", SearchOption.AllDirectories); 

    foreach (var exeFile in exeFiles) 
    { 
     Console.WriteLine(exeFile); 
    } 

使用此代碼來找到所有的EXE遞歸根據您的可執行文件的定義,你可能也做*.com*.bat等等等等,有沒有儘管區分安裝程序exe與常規exe文件的方法。您可能需要應用一些啓發式方法

+0

正如我所說,我知道如何掃描應用程序。我不知道如何決定它是否是安裝程序..無論如何,我不認爲這是蒸汽使用的方式。 – Ron