Variables d'environnement [Résolu]

Philippe734 309 Messages postés lundi 16 décembre 2002Date d'inscription 15 juin 2015 Dernière intervention - 4 juil. 2011 à 20:46 - Dernière réponse : Philippe734 309 Messages postés lundi 16 décembre 2002Date d'inscription 15 juin 2015 Dernière intervention
- 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 

5 réponses

Répondre au sujet
Philippe734 309 Messages postés lundi 16 décembre 2002Date d'inscription 15 juin 2015 Dernière intervention - 4 juil. 2011 à 21:54
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Philippe734
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 4 juil. 2011 à 21:06
0
Utile
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
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 4 juil. 2011 à 21:10
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 4 juil. 2011 à 21:28
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 4 juil. 2011 à 21:48
0
Utile
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.