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
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
Bonjour,
Pour le répertoire des programmes de Windows tu dois pouvoir trouver l'info du coté des "variables d’environnement".
la toucheest 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
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
Pascal H.
phapps.e-monsite.com
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!
la toucheest 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
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 ?
renvoi les 2 répertoires ou celui en 64 bits seulement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sysrep(srProgramFiles) ou Sysrep(srProgrammes)
Merci
Gancau
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
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
Si c'est Acrobat, il te suffit de scanner la base de registre pour trouver la clef
HKEY_CURRENT_USER\Software\Adobe\Adobe Acrobat
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..
Bon dev
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager