2017-03-22 5 views
0

ここからインストールされたプログラムのリストを取得するソリューションが見つかりました。 Get installed applications in a systemC#Windowsの場合、インストールされているプログラムのディレクトリの一覧を取得する方法

私はそれらのそれぞれのインストールディレクトリを取得できますか?私はそのプログラムのすべての実行可能ファイルを見つける必要があるので、私はそれが必要です。

何か提案がありがとうございます。

+0

サブキーの 'InstallLocation'値をチェックしてみましたか?それは少なくともドライバ/プリンタ/以外のものでなければなりません。もの。 – Filburt

答えて

1

あなたは、ここで「HKLM \ SOFTWARE \マイクロソフト\ 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 ""; 
    } 

RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall"); 
string location = FindByDisplayName(regKey, "MSN"); 
MessageBox.Show(location); 

この例では、あなたの入力名と表示名のキー値を比較しますで見つける必要があります値が見つかった場合は、InstallLocationキー値を返します。敬具

ThiyaguあるRajendran

**そうでない場合、彼らは役立つとマーク解除場合の答えとして回答をマークしてください。

+0

TLDR:ソリューションはKey:DisplayLanguageの代わりにKey:InstallLocationを使用することです – libra

関連する問題