Der folgende Tipp soll zeigen, wie man alle User auf einem Rechner in eine ListBox schreiben kann. Benötigt werden die Delphi-Headers der Win32API von den JEDIs.
Dann muss noch folgendes geändert werden(muss nicht, ist aber sinnvoll):
Delphi-Quellcode:
{JwaLM}
type
PUSER_INFO_0 = ^_USER_INFO_0; {<- hinzufügen}
PUSER_INFO_1 = ^_USER_INFO_1; {<- hinzufügen}
{usw. bis 11 und dann noch 20 und 23}
Wichtig ist, dass diese Deklaration unter der von _USER_INFO_x ist!
Und schon kann es zum eigentlichen Teil übergehen: 1 Form mit einem Button und einer ListBox.
Doppelklick auf den Button und folgendes rein:
Delphi-Quellcode:
uses {...}, JwaLM;
{...}
procedure TMainFrm.Button1Click(Sender: TObject);
var
aUserBuffer: PUSER_INFO_0;
aWorkBuffer: PUSER_INFO_0;
dwEntriesRead: Cardinal;
i: integer;
begin
case NetUserEnum(nil, 1, FILTER_NORMAL_ACCOUNT, @aUserBuffer, MAX_PREFERRED_LENGTH, dwEntriesRead, dwEntriesRead, nil) of
NERR_SUCCESS:
begin
aWorkBuffer := aUserBuffer
for i:=1 to dwEntriesRead do begin
ListBox1.Add(aWorkBuffer.usri0_name);
inc(aWorkBuffer);
end;
end;
ERROR_ACCESS_DENIED:
begin
ShowMessage('Fehlende Berechtigung');
end;
end;
NetAPIBufferFree(aUserBuffer);
end;
Weitere Informationen, so wie andere Level (Anzahl Informatioen) und Rückgabewerte gibts im
PSDK bei Microsoft.
Das einzige Problem was sich stellt:
Funktioniert nur unter Windows NT, 2000 und XP!!!
[edit=Chakotay1308]MfG, Chakotay1308[/edit]