Just nu i M3-nätverket
Jump to content

Inte username utan hela namnet...


Jakob A

Recommended Posts

Hej!

 

 

Jag undrar om det finns någon setvariabel (eller liknande) för den person som är påloggad. Jag vill inge ha "UserName" utan personens hela namn (ex. Kalle Karlsson). Kan man få ur denna information på något sätt?

 

/Jakob

Link to comment
Share on other sites

Det lättaste är att använda ADSI. Det här fungerar i NT, tror det fungerar i AD också, ev får du modifiera lite...

Set UserObj = GetObject("WinNT://domain/UserName)
msgbox UserObj.FullName

 

/Mn

Slartibartfast: Is that your robot? Marvin: No. I'm mine.

 

 

Link to comment
Share on other sites

Jakob,

 

Följande bör ge dig en start att lösa det:

Declare Function GetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long

Function UserName() As String
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
UserName = Left(Buffer, BuffLen - 1)
End Function

 

 

Mvh

Dennis

Besök Sveriges ledande oberoende webbplats om MS Excel: http://www.xldennis.com

 

Link to comment
Share on other sites

Dennis:

 

Anser du att det är bättre att använda API istället för ADSI? Varför?

(se inte frågan som provocerande, jag är ganska novis, och vill bara veta...)

 

/Mn

Slartibartfast: Is that your robot? Marvin: No. I'm mine.

 

 

Link to comment
Share on other sites

Zany,

 

(se inte frågan som provocerande, jag är ganska novis, och vill bara veta...)

 

Absolut inte!

 

Min ärliga svar är att jag är "uppvuxen" med API och har svårt att anamma ADSI.

 

Mvh

Dennis

Besök Sveriges ledande oberoende webbplats om MS Excel: http://www.xldennis.com

 

Link to comment
Share on other sites

  • 4 weeks later...
Stefan B Karlsson

Min uppfattning är att API är ett gränssnitt utåt åt oss programmerare som gör att vi (till stor del) kan strunta vad som ligger bakom.

 

Just detta exempel är perfekt för att förklara varför.

I ADSI-fallet så arbetade du direkt mot NTs ActiveDirecty, men skulle ditt program köras på en win98 så skulle det knappast funka. Men använder jag API-anropet GetUserName så kommer det att funka på alla winversioner som stöder GetUser, vilket gör att jag får mindre moddning av programmet.

 

men det är bara mina 5 cents.. Andra som har kommentarer?

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...