IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Répertoire des programmes windows


Sujet :

WinDev

  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut Répertoire des programmes windows
    Bonjour,
    savez-vous comment on peut récupérer le répertoire des programmes de windows par programmation
    et comment récupérer la liste des programmes installés sur une machine ?

    Merci d'avance
    Gancau

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    Pour le répertoire des programmes de Windows tu dois pouvoir trouver l'info du coté des "variables d’environnement".
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 379
    Points : 4 496
    Points
    4 496
    Par défaut
    Bonjour

    Pour les répertoires système, regarde la fonction SysRep

    Pour les applis installées elle sont listées dans la base de registres, une recherche rapide devrait te dire où

    Une clé du genre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall devrait retourner pas mal de chose, mais à vérifier s'il n'y a pas d'autres choses, je ne connais pas assez la BDR

    Ensuite les applis écrivent en général leurs paramètres dans HKEY_LOCAL_MACHINE\SOFTWARE ou HKEY_CURRENT_USER\Software

    Lien à voir éventuellement : http://leregistre-fr.net/astuces/bas...gistre-23.html

  4. #4
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Bonjour, pour récupérer la liste des répertoires windows :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UnRépertoire, ResListeRépertoire sont des chaînes
    // Liste tous les répertoires présents dans "C:\Windows".
    ResListeRépertoire = fListeRépertoire("C:\windows")
    // Pour chaque répertoire trouvé
    POUR TOUTE CHAINE UnRépertoire DE ResListeRépertoire SEPAREE PAR RC
    	// Ajout du répertoire dans la liste LISTE_RepWin
    	ListeAjoute(LISTE_RepWin, UnRépertoire)
    FIN
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  5. #5
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Citation Envoyé par miripesage Voir le message
    Bonjour, pour récupérer la liste des répertoires windows :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UnRépertoire, ResListeRépertoire sont des chaînes
    // Liste tous les répertoires présents dans "C:\Windows".
    ResListeRépertoire = fListeRépertoire("C:\windows")
    // Pour chaque répertoire trouvé
    POUR TOUTE CHAINE UnRépertoire DE ResListeRépertoire SEPAREE PAR RC
    	// Ajout du répertoire dans la liste LISTE_RepWin
    	ListeAjoute(LISTE_RepWin, UnRépertoire)
    FIN
    Bonjour miripesage,
    sauf erreur de ma part mais gancau ne veux pas la liste des sous répertoires du répertoire windows mais la liste les programmes installés sur le PC, ainsi que le répertoire principale d'installation des programmes.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  6. #6
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    Citation Envoyé par mail.spam Voir le message
    Bonjour miripesage,
    sauf erreur de ma part mais gancau ne veux pas la liste des sous répertoires du répertoire windows mais la liste les programmes installés sur le PC, ainsi que le répertoire principale d'installation des programmes.
    Bonjour MAIL.SPAM,
    J'ai mal compris la question et j'ai répondu à coté. Je suis désolé et je m'en excuse.
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  7. #7
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonjour
    effectivement, il s'agit des programmes installés sur le PC. je dois tester si un programme est installé avant de faire tourner l'appli, sinon cela va bugger...
    sysrep a l'air très bien, je n'ai pas d'environnement de test avec un système en 64 bits.
    Savez-vous comment la fonction gère ce cas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sysrep(srProgramFiles) 
    ou 
    Sysrep(srProgrammes)
    renvoi les 2 répertoires ou celui en 64 bits seulement ?
    Merci
    Gancau

  8. #8
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    s'il s'agit de tester la présence d'un seul programme, j'exigerai la présence d'une variable d'environnement pointant vers le répertoire d'installation du programme en question. Ainsi tu ne testes que 2 choses : la présence de cette variable et son contenu. Après tu te désengages si cette variable n'est pas renseignée comme il faut ou ne pointe pas vers le bon dossier.

    Le pourquoi de cette méthode : si les applications ne sont pas installées par tes soins et qu'il y a des installations, réinstallations, mise à jour etc ... qui dupliquent les versions du programme, changent les dossiers d'installations, etc ... il y a un risque que tu n'utilises pas la bonne version, que tu sois obligé de recoder des choses pour aller chercher la bonne clef de registre etc ...

    Ca marcherait également avec un paramètre stocké dans un INI de l'appli aussi !

    à bientôt,

    Nicolas

  9. #9
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Dans le cas précis (mais cela pourra être pour d'autre cas)
    je dois vérifier la présence d'adobe acrobat sur la machine, donc ce n'est pas moi qui ait fait (ou vais faire) l'install , et je ne peux le stocker dans mon .ini
    Si l'instalaltion ne suit pas les procédures standards de l'entreprise, je ne peux pas faire des miracles...
    Merci
    Gancau

  10. #10
    Membre chevronné Avatar de Guardian
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    820
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 820
    Points : 1 808
    Points
    1 808
    Par défaut
    Si c'est Acrobat, il te suffit de scanner la base de registre pour trouver la clef
    HKEY_CURRENT_USER\Software\Adobe\Adobe Acrobat

  11. #11
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Voici ma modeste contribution. Un extrait de mes procédutres de registre... J'espère que cela aidera d'autres forumeurs Windeviens et viennes..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    PROCEDURE REGISTRE_LOGICIEL_EXISTE(_LOGICIEL="")
    // variables locale
    sPathKey est une chaîne = ""
    nIndiceTab est un entier = 0
    // on va parcourir le chemin
    SI RegistreExiste(Pathregister) = Vrai ALORS
    // ok, la clé existe
    // on parcours la clé de registre
    sPathKey = RegistrePremièreSousClé(Pathregister)
    TANTQUE sPathKey <> ""
    // trace
    SI EnModeTest() ALORS Trace(" lecture de la clé de registre "+sPathKey)
    //
    // on reagrde si on trouve le logiciel dans la base de registre
    // et on renvois vrai dans ce cas
    SI ChaîneOccurrence(sPathKey,_LOGICIEL, SansCasse) ALORS
    // on renvoi vrai
    RENVOYER Vrai
    FIN
    // lecture sous cle suivante
    sPathKey = RegistreCléSuivante(sPathKey)
    // fin boucle tantque cle regsitre 
    FIN
    FIN
    // on renvoie faux
    RENVOYER Faux
    Bon dev

    PS: J'ai oublie de dire qu'il faut alimenter la variable pathregister avec
    "HKEY_LOCAL_MACHINE\SOFTWARE\"
    Désolé, c'est dans ma collection de procédures PROC_REGISTRE
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

Discussions similaires

  1. Comment ajouter son programme à la liste des programmes Windows
    Par Simonake dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 31/07/2010, 07h09
  2. Exécuter des programmes Windows sous Debian
    Par ElOmbre495 dans le forum Debian
    Réponses: 1
    Dernier message: 19/02/2008, 14h56
  3. Faire des programmes Windows GUI : début difficile, perdu !
    Par telodo dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 04/10/2007, 15h22
  4. empecher affichage du programme dans la barre des tache windows
    Par Jérémy Lefevre dans le forum wxWidgets
    Réponses: 3
    Dernier message: 31/01/2007, 16h46
  5. Liste des programme ou applications sous windows xp
    Par bob40 dans le forum Windows XP
    Réponses: 1
    Dernier message: 12/01/2006, 02h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo