Moin Luckie,
ich hab' das mal versucht auch zu machen. Bei mir sieht's dann so aus:
Delphi-Quellcode:
const // aus Winnt.h
DOMAIN_GROUP_RID_USERS = $00000201;
var
rUI : USER_INFO_3;
dwResult : NET_API_STATUS;
begin
FillChar(rUI,SizeOf(USER_INFO_3),0);
rUI.usri3_name := '
testuser2';
rUI.usri3_password := '
';
rUI.usri3_comment := '
Neuer Testuser';
rUI.usri3_flags := UF_NORMAL_ACCOUNT;
rUI.usri3_max_storage := USER_MAXSTORAGE_UNLIMITED;
rUI.usri3_primary_group_id := DOMAIN_GROUP_RID_USERS;
dwResult := NetUserAdd(
nil,3,@rUI,
nil);
if dwResult <> NERR_SUCCESS
then
begin
ShowMessage(SysErrorMessage(dwResult));
end;
end;
So geht's, auch kein Runtime Error.
Was mir allerdings auffällt:
Du weist ganz zu Anfang der lokalen Variablen sUser die lokale Variable s zu. Beide sind zu diesem Zeitpunkt allerdings noch nicht initialisiert. Das könnte nach NetUserAdd doch zu Problemen führen.