DECLARE integer GetLastError IN kernel32 DECLARE integer CloseHandle IN kernel32 integer hObject DECLARE integer LogonUser IN advapi32 string lpzUser, string lpzDomain, string lpzPass, integer dwLogonType, integer dwLogonProvider, integer @phToken nToken = 0 cUser = inputbox("User:") cPass = inputbox("Password:") && enter an invalid password cDomain = inputbox("Domain:") = LogonUser(cUser,cDomain,cPass,3,0,@nToken) ? "Error:",GetLastError()I do this and still get a 0.
>nLastError = GetLastError() >>In your code the GetLastError is called concurrently with the TRANSFORM() and the MESSAGEBOX() calls. May happen that any of these already reset the last error state.
>nToken = 0 >= LogonUser(cUsr, cDomain, cPwd,; > LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, @nToken) > >IF nToken = 0 >* 1326 = ERROR_LOGON_FAILURE >* 1327 = ERROR_NO_SUCH_MEMBER >* 1385 = ERROR_LOGON_TYPE_NOT_GRANTED > ? "Error:", GetLastError() > RETURN .F. >ENDIF >