none
Lister toutes les applications dans un ordinateur avec leurs chemins

Réponses

  • Bonjour,

    Jeter un cou d'oeil sur ceci:

    http://social.msdn.microsoft.com/Forums/en-US/94c2f14d-c45e-4b55-9ba0-eb091bac1035/c-get-installed-programs

    Il suffit juste de l'adapter à votre besoin:

    public static void InstalledApplication()
    {
        string displayName;
        string pathName ;
        RegistryKey key;
    
        // search in: CurrentUser
        key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
               pathName = regKey.GetValue("InstallLocation").ToString();
    Console.WriteLine(displayName , pathName );
        }
    
        // search in: LocalMachine_32
        key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
           pathName = regKey.GetValue("InstallLocation").ToString();
    Console.WriteLine(displayName , pathName );
        }
    
        // search in: LocalMachine_64
        key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
          pathName = regKey.GetValue("InstallLocation").ToString();
    Console.WriteLine(displayName , pathName );
        }
    
       
    }

    Cordialement,


    Sami CHNITER Software Engineer

    lundi 16 septembre 2013 08:29

Toutes les réponses

  • Bonjour,

    Jeter un cou d'oeil sur ceci:

    http://social.msdn.microsoft.com/Forums/en-US/94c2f14d-c45e-4b55-9ba0-eb091bac1035/c-get-installed-programs

    Il suffit juste de l'adapter à votre besoin:

    public static void InstalledApplication()
    {
        string displayName;
        string pathName ;
        RegistryKey key;
    
        // search in: CurrentUser
        key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
               pathName = regKey.GetValue("InstallLocation").ToString();
    Console.WriteLine(displayName , pathName );
        }
    
        // search in: LocalMachine_32
        key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
           pathName = regKey.GetValue("InstallLocation").ToString();
    Console.WriteLine(displayName , pathName );
        }
    
        // search in: LocalMachine_64
        key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
          pathName = regKey.GetValue("InstallLocation").ToString();
    Console.WriteLine(displayName , pathName );
        }
    
       
    }

    Cordialement,


    Sami CHNITER Software Engineer

    lundi 16 septembre 2013 08:29
  • Merci,

    Je ne connais pas le language c++ que je crois reconnaitre!

    Serais t'il possible de l'avoir sous le format vb.net?

    Cordialement

    lundi 16 septembre 2013 09:18
  • Bonjour,

    Le code précédent est en langage c#.

    Voila le même code en Vb.Net

    Public Shared Sub InstalledApplication()
    	Dim displayName As String
    	Dim pathName As String
    	Dim key As RegistryKey
    
    	' search in: CurrentUser
    	key = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
    	For Each keyName As [String] In key.GetSubKeyNames()
    		Dim subkey As RegistryKey = key.OpenSubKey(keyName)
    		displayName = TryCast(subkey.GetValue("DisplayName"), String)
    		pathName = regKey.GetValue("InstallLocation").ToString()
    		Console.WriteLine(displayName, pathName)
    	Next
    
    	' search in: LocalMachine_32
    	key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
    	For Each keyName As [String] In key.GetSubKeyNames()
    		Dim subkey As RegistryKey = key.OpenSubKey(keyName)
    		displayName = TryCast(subkey.GetValue("DisplayName"), String)
    		pathName = regKey.GetValue("InstallLocation").ToString()
    		Console.WriteLine(displayName, pathName)
    	Next
    
    	' search in: LocalMachine_64
    	key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall")
    	For Each keyName As [String] In key.GetSubKeyNames()
    		Dim subkey As RegistryKey = key.OpenSubKey(keyName)
    		displayName = TryCast(subkey.GetValue("DisplayName"), String)
    		pathName = regKey.GetValue("InstallLocation").ToString()
    		Console.WriteLine(displayName, pathName)
    	Next
    
    
    End Sub
    Cdt,


    Sami CHNITER Software Engineer


    lundi 16 septembre 2013 09:47
  • Merci je vais essayer ça

    Cordialement

    lundi 16 septembre 2013 09:59
  • Bonjour,

    Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 18 septembre 2013 12:20
    Propriétaire