#define LOGON32_PROVIDER_DEFAULT 0 #define LOGON32_LOGON_NETWORK 3 if not ValidatePassword('ASDFDOMAIN', 'Ryan', 'ASDF123') quit endif function ValidatePassword(tcDomain, tcUser, tcPassword) local lnToken, llResult, lcUser, lcDomain, lcPassword lcDomain = Iif(Vartype(tcDomain) # 'C' or Empty(tcDomain), Getenv('UserDomain'), Alltrim(tcDomain)) lcUser = Iif(Vartype(tcUser) # 'C' or Empty(tcUser), Getenv('UserName'), Alltrim(tcUser)) lcPassword = Iif(Vartype(tcPassword) # 'C', '', tcPassword) declare LogonUser in AdvAPI32 ; String lpszUsername, ; String lpszDomain, ; String lpszPassword, ; Integer dwLogonType, ; Integer dwLogonProvider, ; Long @ phToken ; declare CloseHandle in Kernel32 ; integer hObject declare SetLastError in win32api ; integer dwErrCode declare integer GetLastError in WIN32API SetLastError(0) lnToken = 0 llResult = LogonUser(lcUser, lcDomain, lcPassword, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, @lnToken) if llResult and lnToken # 0 CloseHandle(lnToken) llResult = .T. messagebox("Correct Password") else llResult = .F. * Do something with GetLastError()\ messagebox("Wrong Passowrd") endif return llResulti tried this but it does'nt work! Did I miss anything.