Variables d'environnement [Résolu]

Messages postés
309
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
15 juin 2015
- 4 juil. 2011 à 20:46 - Dernière réponse :
Messages postés
309
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
15 juin 2015
- 4 juil. 2011 à 21:54
Bonjour,

Je sais comment récupérer la valeur d'une variable environnement. Je connais même plusieurs méthodes. Chacune permettent de récupérer la valeur de variables d'environnement de l'utilisateur qui évoque ces fonctions. Par exemple, si Philippe récupère la valeur de la variable environnement TEMP, il peut obtenir :
C:\Document and Settings\Philippe\Local Settings\Temp\

Ma question concerne les variables environnement des autres utilisateurs :

En tant qu'administrateur et connaissant le nom d'un utilisateur limité, comment récupérer la valeur d'une variable environnement de cet utilisateur limité ?

Merci d'avance,
Philippe
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
309
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
15 juin 2015
- 4 juil. 2011 à 21:54
3
Merci
Merci à vous.
En revanche ucfoutu, ta méthode est mauvaise. En effet, si robert à paramétrer ses variables différement de polo, alors ça ne fonctionnera pas. C'est d'ailleurs pour cela que je suis venus poser la question !

ghuysmans99 tu a bien vue, voici la réponse à ma question :

En utilisant la fonction de lecture d'une clé du registre, trouvé dans les snippets (Property Get RegKeyValue...) on trouve :
    MsgBox "admin : " & RegKeyValue(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Session Manager\Environment", "TEMP") & vbNewLine & _
           "user : " & RegKeyValue(HKEY_CURRENT_USER, "Environment", "TEMP"), vbInformation

Merci Philippe734 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de Philippe734
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
- 4 juil. 2011 à 21:06
0
Merci
Je ne pense pas que tu puisses les récupérer "comme ça" par contre tu peux lancer récupérer les variables d'env d'un process déjà lancé (pas forcément le tien si tu es admin).

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
- 4 juil. 2011 à 21:10
0
Merci
Tu peux les dans HKCU\Environment (ou HKEY_USERS\{sid du user cible}\Environment) mais elles ne sont pas résolues (il y a encore d'autres variables d'environnement dedans comme %USERNAME%)

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 4 juil. 2011 à 21:28
0
Merci
Bonjour,

La fonction Environ existe en natif sous VB6.
Teste ceci :
 i = 1
  toto = "blabla"
  Do Until toto = ""
     toto = Environ(i)
     i = i + 1
     MsgBox toto
  Loop

dans chaque message box : une chaîne séparée par un signe =.
Ce qui est devant le signe égal peut être utilisé à la place de l'index.
Exemple :
msgbox Environ("username")


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 4 juil. 2011 à 21:48
0
Merci
Après, ce n'est qu'une question d'utilisation des chaînes, selon le cas.
On reprend par exemple ton exemple d'obtention de :
C:\Document and Settings\Philippe\Local Settings\Temp\
et voilà alors :
 Dim toto, mon_utilisateur As String, titi As String
  mon_utilisateur = "Philippe"
  toto = Split(Environ("TEMP"), "")
  toto(2) = mon_utilisateur
  titi = Join(toto, "") & ""
  MsgBox titi

c'est tout.
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.