User Name via 1. API, 2. Enviornment, 3. WScript.Network

M

MSweetG222

All,

I have reviewed the several ways of retrieving a User Name from various
postings here. I have listed 3 below. Are the results of each is coming
from different places? Can someone tell me from where each is pulling the
UserName info?

I am currently assuming that the API & WScript are coming from the same
place since I rec'd the same answer (until someone tells me otherwise). Are
there pros/cons of using the WScript vs. API function?

Thank your for any assistance.
MSweetG222




Option Explicit
'===================================================
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA"
(ByVal lpBuffer As String, nSize As Long) As Long

Function UserNameWindows()
Dim lngLen As Long
Dim strBuffer As String
Const dhcMaxUserName = 255
strBuffer = Space(dhcMaxUserName)
lngLen = dhcMaxUserName
If CBool(GetUserName(strBuffer, lngLen)) Then
UserNameWindows = Left$(strBuffer, lngLen - 1)
Else
UserNameWindows = ""
End If
End Function
'===================================================
Function UserName()
Dim wsnet
Set wsnet = CreateObject("wscript.network")
UserName = wsnet.UserName
End Function
'===================================================
Function EnvironUserName()
EnvironUserName = Environ("USERNAME")
End Function
'===================================================
 
B

Bob Phillips

I would assume that they all get the answer from the same place, just use
different (more accessible) methods of extracting it. They should all return
the same value, they do on my box(es).

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)
 
M

MSweetG222

Bob - thanks for responding.

On my system, the API & WScript return the same answer.
The Environ returns nothing.
I checked "Set" in Dos and sure enough, there is not a UserName variable.

Thx
MSweetG222
 
J

Jim Thomlinson

I have heard a couple of different ideas on environ vs API. One is that
Environ was not uspported by Windows 98 / ME. The other is that the API
returns the network login, while environ returns the windows login (which
although not normally differnent can be). I am not too sure if or what is
true. I always just use environ.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top