February 20, 2019
Hot Topics:

Verify the Windows Password

  • November 20, 2002
  • By Sam Huggill
  • Send Email »
  • More Articles »

Add a new bas module (modVerifyPassword) and copy the following code into it:

Option Explicit

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

Private Declare Function WNetVerifyPassword _
    Lib "mpr.dll" Alias _
    "WNetVerifyPasswordA" _
    (ByVal lpszPassword As String, _
    ByRef pfMatch As Long) As Long

Public Function GetWindowsLoginUserID() As String
Dim rtn As Long
Dim sBuffer As String
Dim lSize As Long

sBuffer = String$(260, Chr$(0))
lSize = Len(sBuffer)
rtn = GetUserName(sBuffer, lSize)
If rtn Then
  sBuffer = left$(sBuffer, lSize)

  'Reformat string
  If InStr(sBuffer, Chr$(0)) Then
    sBuffer = left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
  End If

  GetWindowsLoginUserID = sBuffer
  GetWindowsLoginUserID = ""
End If
End Function

Public Function VerifyWindowsLoginUserPassword _
  (ByVal Password As String) As Boolean
Dim rtn As Long, Match As Long
rtn = WNetVerifyPassword(Password, Match)
If rtn Then
  VerifyWindowsLoginUserPassword = False
  VerifyWindowsLoginUserPassword = (Match <> 0)
End If
End Function

Page 2 of 3

Comment and Contribute


(Maximum characters: 1200). You have characters left.



Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date