Private Sub Form_Load() ' [WMI Win32 Helper - Win32_Account] On Local Error Resume Next Dim sComputerName As String, WMI_Obj As Object, WMI_ObjProps As Object, ObjClsItem As Object sComputerName = Environ$("COMPUTERNAME") Set WMI_Obj = GetObject("winmgmts:\" & sComputerName & "\root\cimv2") Set WMI_ObjProps = WMI_Obj.ExecQuery("SELECT * FROM Win32_Account", , 48) For Each ObjClsItem In WMI_ObjProps Debug.Print "Caption : " & ObjClsItem.Caption Debug.Print "Description : " & ObjClsItem.Description Debug.Print "Domain : " & ObjClsItem.Domain Debug.Print "Name : " & ObjClsItem.Name Debug.Print vbCrLf Next ObjClsItem Set ObjClsItem = Nothing Set WMI_ObjProps = Nothing Set WMI_Obj = Nothing End Sub
Private Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal UserName As String, _ ByRef BuffSize As Long) As Long Public Function CurrentUser() As String Dim sBuff As String * 512 Dim x As Long CurrentUser = "" x = GetUserName(sBuff, Len(sBuff) - 1) If x > 0 Then x = InStr(sBuff, vbNullChar) If x > 0 Then CurrentUser = Left$(sBuff, x - 1) End If End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Enum EXTENDED_NAME_FORMAT NameUnknown = 0 NameFullyQualifiedDN = 1 NameSamCompatible = 2 NameDisplay = 3 NameUniqueId = 6 NameCanonical = 7 NameUserPrincipal = 8 NameCanonicalEx = 9 NameServicePrincipal = 10 End Enum Private Declare Function GetUserNameEx Lib "secur32.dll" Alias "GetUserNameExA" (ByVal NameFormat As EXTENDED_NAME_FORMAT, ByVal lpNameBuffer As String, ByRef nSize As Long) As Long Sub main() 'KPD-Team 2001 'URL: http://www.allapi.net/ 'E-Mail: KPDTeam@allapi.net Dim sBuffer As String, Ret As Long sBuffer = String(256, 0) Ret = Len(sBuffer) If GetUserNameEx(NameSamCompatible, sBuffer, Ret) <> 0 Then MsgBox "Username: " + Left$(sBuffer, Ret) Else MsgBox "Error while retrieving the username" End If End Sub
'Tiré de Api-Guide Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Private Sub Form_Load() Dim strUserName As String strUserName = String(100, Chr$(0)) GetUserName strUserName, 100 strUserName = Left$(strUserName, InStr(strUserName, Chr$(0)) - 1) MsgBox strUserName End Sub
Private Declare Function w32_WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" _ (ByVal lpszLocalName As String, ByVal lpszUserName As String, lpcchBuffer As _ Long) As Long Private Sub Form_Load() Dim lpUserName As String, lpnLength As Long, lResult As Long 'Create a buffer lpUserName = String(256, Chr$(0)) 'Get the network user lResult = w32_WNetGetUser(vbNullString, lpUserName, 256) If lResult = 0 Then lpUserName = Left$(lpUserName, InStr(1, lpUserName, Chr$(0)) - 1) MsgBox "The user's Network Logon Name is " + lpUserName + ".", vbInformation + vbOKOnly, App.Title Else MsgBox "No user found !", vbExclamation + vbOKOnly, App.Title End If End Sub