Hallo,
ich verwende diesen Code, um zu überprüfen ob Password=Windows Passwort:
Code:
function NetUserChangePassword(
domainname : Pwidechar; { IN OPTIONAL }
username : Pwidechar; { IN OPTIONAL }
oldpassword: Pwidechar; { IN }
newpassword: Pwidechar { IN }
): DWORD; stdcall;
external netapi32 name 'NetUserChangePassword';
implementation
function isPw(User, Password: String):boolean;
var
NewPassword: array [0..1023] of WideChar;
OldPassword: array [0..1023] of WideChar;
UserBuff : array [0..1023] of WideChar;
UserName: PWideChar;
begin
StringToWideChar(Password, PWideChar(@NewPassword[0]), SizeOf(NewPassword));
StringToWideChar(Password, PWideChar(@OldPassword[0]), SizeOf(OldPassword));
StringToWideChar(User, PWideChar(@UserBuff[0]), SizeOf(UserBuff));
UserName := PWideChar(@UserBuff[0]);
if NetUserChangePassword(nil, UserName,
PWideChar(@OldPassword[0]), PWideChar(@NewPassword[0]))=0 then
result:=True
else
result:=False;
end;
Diesen Code habe ich von
http://entwickler-forum.de/showthread.php?t=36129
Es kommt aber immer dasselbe: Result:=False;
Auch wenn das Pw und Username richig sind.
Was ist an diesem Code falsch?