Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1508 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  service windows n'arrive pas à récupérer variable d'environnement :(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

service windows n'arrive pas à récupérer variable d'environnement :(

n°708429
art_dupond
je suis neuneu... oui oui !!
Posté le 26-04-2004 à 11:41:06  profilanswer
 

youp,
 
 
j'ai besoin de récupérer le nom de l'utilisateur loggé (%USERNAME%) dans un programme qui est un service windows...
 
pour ca j'ai fait  
 
 
 


Public Function GetUserName() As String
Dim NameSpace As String
 
    On Error GoTo noUser
    NameSpace = "root\cimv2"    'c'est le namespace par défaut
    Set p_objSWbemServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\" & NameSpace)
     
    Set p_objSWbemObjectSet = p_objSWbemServices.ExecQuery("Select userName from Win32_ComputerSystem", , 48)
 
    For Each p_objSWbemObject In p_objSWbemObjectSet
        GetUserName = p_objSWbemObject.userName
        Exit Function
    Next
    Exit Function
noUser:
    GetUserName = ""
End Function


 
le problème, c'est que la fonction dure 1 minute 30 pour :sweat:  
 
 
donc je voudrais faire autrement, mais ca ne marche pas :(
 
 
j'ai essayé  
 

msgbox Environ("USERNAME" )


 
 

Private Declare Function GetEnvironmentVariable Lib "kernel32" Alias "GetEnvironmentVariableA" (ByVal lpName As String, ByVal lpBuffer As String, ByVal nSize As Long) As Long
 
Public Function GetEnvVar(ByVal VarName As String) As String
    Dim sVar As String, lVar As Long
    lVar = 50 '(ceci représente le nombre max de charactères à récupérer...)
    sVar = String(lVar, 0)
    lVar = GetEnvironmentVariable(VarName, sVar, lVar)
    GetEnvVar = Left(sVar, lVar)
End Function
 
Private Sub Form_Load()
   msgbox GetEnvVar("USERNAME" )
End Sub


 
 
 
qui ne marchent pas. Ca marche si je les lance moi-même. Mais à partir de mon "service" windows, il me renvoie "". Je suppose que c'est le username qui à lancé le service et donc que c'est normal.
 
mais bon, ca ne m'arrange pas :p
 
 
 
un chtite aide quelqu'un ?
 
 
 
merci

mood
Publicité
Posté le 26-04-2004 à 11:41:06  profilanswer
 

n°708447
art_dupond
je suis neuneu... oui oui !!
Posté le 26-04-2004 à 11:59:04  profilanswer
 

yop bon, la fonction ne dure longtemps qu'à la première exécution (quand le pc démarre), donc on va dire que c'est bong...
 
 
sorry  :jap:


Message édité par art_dupond le 26-04-2004 à 11:59:21
n°709377
art_dupond
je suis neuneu... oui oui !!
Posté le 27-04-2004 à 10:06:02  profilanswer
 

yop, j'ai trouvé ca sinon
 
http://vbnet.mvps.org/index.html?c [...] ername.htm
 
 
mais ca fait pas tout à fait ce que je veux...


Message édité par art_dupond le 27-04-2004 à 13:10:57

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  service windows n'arrive pas à récupérer variable d'environnement :(

 

Sujets relatifs
Comment récupérer la valeur d'un <SELECT> ??Windows, Linux et pourquoi pas mac ..
Impossible de réccupéré une variable... [Resolu]J'arrive pas à propager mon id de session d'une page à l'autre
Récupérer login windows d'un client [Apache => Windows && PHP4.2.0)[perle]recuperer un mot cle sur irc
[php] Tordu : Afficher le SUM de plusieurs DECODE passés en variable ?catch (...): peut-on récupérer l'exception?
[JS] Type de variable [RESOLU] 
Plus de sujets relatifs à : service windows n'arrive pas à récupérer variable d'environnement :(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR