Private Declare Function LogonUser Lib "Advapi32" Alias "LogonUserA" (ByVal _ lpszUserName As String, ByVal lpszDomain As String, _ ByVal lpszPassword As String, ByVal dwLogonType As Long, _ ByVal dwLogonProvider As Long, phToken As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As _ Long Const LOGON32_PROVIDER_DEFAULT = 0& Const LOGON32_LOGON_NETWORK = 3&' Check whether a username/password pair is correct ' ' if DOMAIN is omitted, it uses the local account database ' and then asks trusted domains to search their account databases ' until it finds the account or the search is exhausted ' use DOMAIN="." to search only the local account databasePrivate Function CheckWindowsUser(ByVal UserName As String, _ ByVal Password As String, Optional ByVal Domain As String) As Boolean Dim hToken As Long, ret As Long ' provide a default for the Domain name If Len(Domain) = 0 Then Domain = vbNullString ' check the username/password pair ' using LOGON32_LOGON_NETWORK delivers the best performance ret = LogonUser(UserName, Domain, Password, LOGON32_LOGON_NETWORK, _ LOGON32_PROVIDER_DEFAULT, hToken)
' a non-zero value means success If ret Then CheckWindowsUser = True CloseHandle hToken End IfEnd Function
TechnoFantasy(www.applevb.com):謝謝你. 我試過了.LOGONUSER API 能在WINDOWS2000用.可是在WINDOWS98卻不行.是不是LOGONUSER API 不能在WINDOWS98下用呀?
lpszUserName As String, ByVal lpszDomain As String, _
ByVal lpszPassword As String, ByVal dwLogonType As Long, _
ByVal dwLogonProvider As Long, phToken As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As _
Long
Const LOGON32_PROVIDER_DEFAULT = 0&
Const LOGON32_LOGON_NETWORK = 3&' Check whether a username/password pair is correct
'
' if DOMAIN is omitted, it uses the local account database
' and then asks trusted domains to search their account databases
' until it finds the account or the search is exhausted
' use DOMAIN="." to search only the local account databasePrivate Function CheckWindowsUser(ByVal UserName As String, _
ByVal Password As String, Optional ByVal Domain As String) As Boolean Dim hToken As Long, ret As Long ' provide a default for the Domain name
If Len(Domain) = 0 Then Domain = vbNullString
' check the username/password pair
' using LOGON32_LOGON_NETWORK delivers the best performance
ret = LogonUser(UserName, Domain, Password, LOGON32_LOGON_NETWORK, _
LOGON32_PROVIDER_DEFAULT, hToken)
' a non-zero value means success
If ret Then
CheckWindowsUser = True
CloseHandle hToken
End IfEnd Function
我試過了.LOGONUSER API 能在WINDOWS2000用.可是在WINDOWS98卻不行.是不是LOGONUSER API 不能在WINDOWS98下用呀?