Variables d'environnement

Résolu
Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 - 4 juil. 2011 à 20:46
Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre 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
A voir également:

5 réponses

Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 1
4 juil. 2011 à 21:54
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
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
4 juil. 2011 à 21:06
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
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
4 juil. 2011 à 21:10
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 juil. 2011 à 21:28
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 juil. 2011 à 21:48
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
0
Rejoignez-nous