2012-01-21 6 views
0

自分のコンピュータ上のすべてのアプリケーションファイルをスキャンして取得したいと考えています。
私はそれらを手に入れる方法を知っていますが、実行可能なアプリケーション(インストーラを除いて)のみを必要とします。C#Application Scanning

基本的に、私が望むのは同じ機能の蒸気使用です。 例: enter image description here

+0

あなたはインストールされたアプリケーションを意味しますか?または任意の「実行ファイル」があなたのハードドライブに保存されていますか? –

+2

どのような種類のアプリケーションが_not_ Executableですか? –

+0

すべてのexeは実行可能ですが、私は別の意味です。あなたがそれらを実行し、そのようなものをすぐに閉じるexeがあります。 – Ron

答えて

2

システムにインストールされているアプリケーションの一覧を取得する場合は、レジストリに問い合わせることができます。例については、Get installed applications in a systemを参照してください。

+0

私はインストールされたアプリケーションを入手する方法を知っています。私はSteamがこのソリューションをいくつかのフィルタとより多くの機能と組み合わせて使用​​していると確信していますが、どうやってそれを正確に行うかはわかりません... – Ron

3

あなたはまた*.comを行う必要があります実行可能ファイルのあなたの定義に応じて、ディレクトリに再帰的にすべてのEXEを見つけるために

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

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

をこのコードを使用することができ、*.batなどなど何もありませんインストーラexeファイルと正規のexeファイルを区別する方法です。いくつかのヒューリスティックを適用する必要があります

+0

私が言ったように、私はアプリをスキャンする方法を知っています。私はそれがインストーラかどうかを決める方法を知らない...とにかく私はスチームが使用する方法だとは思わない。 – Ron