September 23, 2018
Hot Topics:

Verify the Windows Password

  • November 19, 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.

By submitting your information, you agree that developer.com may send you developer offers via email, phone and text message, as well as email offers about other products and services that developer believes may be of interest to you. developer will process your information in accordance with the Quinstreet Privacy Policy.


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