验证Windows密码 |
p> |声明模块: 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 Else Error! GetWindowsLoginUserID = "" End If
End Function
Public Function VerifyWindowsLoginU Password(ByVal Password As String) As Boolean Dim rtn As Long, Match As Long rtn = WNetVerifyPassword(Password, Match) If rtn Then VerifyWindowsLoginUserPassword = False Else VerifyWindowsLoginUserPassword = (Match $#@60;$#@62; 0) End If End Function
|窗体代码:
Private Sub cmdVerify_Click() MsgBox "The password you supplied was " VerifyWindowsLoginUserPassword(txtPassword.Text) End Sub
Private Sub Form_Load() txtUsername = GetWindowsLoginUserID txtUsername.Enabled = False End Sub
|