OVH Cloud OVH Cloud

Variable Environnement

3 réponses
Avatar
marie
Avec NT4 et VB6, j'utilisais la fonction ENVIRON
("USERNAME"), pour savoir quel est l'utilisateur qui=20
utilise une application. Mais avec Windows XP, cette=20
focntion ne marche plus??? Faut-il l'=E9crier autrement.=20
Merci par avance pour vos r=E9ponses.

3 réponses

Avatar
LE TROLL
Bonjour,

En voyant ce qui suit, est-ce que ça t'aide?

Private Declare Function SetEnvironmentVariable Lib "kernel32" Alias _
"SetEnvironmentVariableA" (ByVal lpName As String, _
ByVal lpValue As String) As Long



Private Declare Function GetEnvironmentVariable Lib "kernel32" Alias _
"GetEnvironmentVariableA" (ByVal lpName As String, _
ByVal lpBuffer As String, ByVal nSize As Long) As Long

Dim var_recup As String

SetEnvironmentVariable "nom_vriable", "contenu_variable" ' stock
GetEnvironmentVariable "nom_vriable", var_recup, taille ' destock
SetEnvironmentVariable "nom_variable", "" ' supprime
--------------


"marie" a écrit dans le message de
news:086601c4a605$def54600$
Avec NT4 et VB6, j'utilisais la fonction ENVIRON
("USERNAME"), pour savoir quel est l'utilisateur qui
utilise une application. Mais avec Windows XP, cette
focntion ne marche plus??? Faut-il l'écrier autrement.
Merci par avance pour vos réponses.
Avatar
François Picalausa
Hello,

Tu peux utiliser l'API GetUserName:
Option Explicit

'Fonction
Private Declare Function GetUserName _
Lib "Advapi32" _
Alias "GetUserNameA" _
( _
ByVal lpBuffer As String, _
nSize As Long _
) _
As Long
Private Const ERROR_INSUFFICIENT_BUFFER = 122

Private Sub Form_Load()
MsgBox UserName
End Sub

Private Function UserName() As String
Dim BufferLenght As Long
UserName = ""
BufferLenght = 0

If GetUserName(UserName, BufferLenght) = 0 Then
If Err.LastDllError = ERROR_INSUFFICIENT_BUFFER Then
UserName = String$(BufferLenght, vbNullChar)
If GetUserName(UserName, BufferLenght) = 0 Then
MsgBox "Erreur innatendue (" & Err.LastDllError & ")"
End If
Else
MsgBox "Erreur inconnue (" & Err.LastDllError & ")"
End If
End If
End Function

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com

"marie" a écrit dans le message
de news: 086601c4a605$def54600$
Avec NT4 et VB6, j'utilisais la fonction ENVIRON
("USERNAME"), pour savoir quel est l'utilisateur qui
utilise une application. Mais avec Windows XP, cette
focntion ne marche plus??? Faut-il l'écrier autrement.
Merci par avance pour vos réponses.


Avatar
RABILLOUD JMARC [MVP]
Chez moi ca marche
"marie" a écrit dans le message de
news: 086601c4a605$def54600$
Avec NT4 et VB6, j'utilisais la fonction ENVIRON
("USERNAME"), pour savoir quel est l'utilisateur qui
utilise une application. Mais avec Windows XP, cette
focntion ne marche plus??? Faut-il l'écrier autrement.
Merci par avance pour vos réponses.