Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Auslesen welcher User zu welcher Gruppe gehört?! (https://www.delphipraxis.net/2872-auslesen-welcher-user-zu-welcher-gruppe-gehoert.html)

Luckie 11. Feb 2003 10:27

Delphi-Quellcode:
var
  dwEntriesRead, dwEntriesTotal: DWORD;
  lgi01, lgi02 : Pointer;
  i : Integer;
begin
  lgi02 := nil;
  Listbox1.Clear;
  if NetLocalGroupEnum(nil, 0, lgi01, MAX_PREFERRED_LENGTH, dwEntriesRead, dwEntriesTotal, nil) = NERR_SUCCESS then
  begin
    lgi02 := lgi02;
    for i := 0 to dwEntriesRead-1 do
    begin
      Listbox1.Items.Add(PLocalGroupInfo0(lgi01)^.lgrpi0_name);
      Inc(Integer(lgi01), SizeOf(Pointer));
    end;
  end;
  NetAPIBufferFree(lgi02);
Nur aus Neugier: Was soll das eigentlich werden, wenn es fertig ist?

f.r.e.s.h.d 11. Feb 2003 10:30

:hello: :bounce1:


Ja, das funktioniert!!! Super!!! Danke!!!

Luckie 11. Feb 2003 10:37

Und was soll das nun werden, wenn es fertig ist?

f.r.e.s.h.d 11. Feb 2003 10:44

Weiß das sit ein bisschen nervig, hast du vielleciht auch einen Lösungsansatz für die Ermittlung der Gruppen des einzelnen Users?

So weit bin ich gekommen, aber diese Variablen machen mich voll wuschig! :)
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  dwEntriesRead, dwEntriesTotal: DWORD;
  lgi01, lgi02 : Pointer;
  i : Integer;
begin
  lgi02 := nil;
  Listbox1.Clear;
  if NetUserGetGroups(nil, lgi01(hier muß irgendwie der Name des Benutzers rein?!), FILTER_NORMAL_ACCOUNT, lgi01, MAX_PREFERRED_LENGTH, dwEntriesRead, dwEntriesTotal) = NERR_SUCCESS then
  begin
    lgi02 := lgi02;
    for i := 0 to dwEntriesRead-1 do
    begin
      Listbox1.Items.Add(PGROUPUSERSINFO0(lgi01)^.grui0_name);
      Inc(Integer(lgi01), SizeOf(Pointer));
    end;
  end;
  NetAPIBufferFree(lgi02);
end;
Code-Tages hinzugefügt - Luckie
Beim nächsten mal bitte selber machen

Luckie 11. Feb 2003 10:53

So erstmal, wir haben hier wunderschöne Code-Tags, bitte benutz die doch auch. So ist dein Quellcode kaum lesbar.

Zweitens: Sag mal, rätst du die Parameter, die die Funktion braucht oder was machst du da? Entweder kuckst du auf www.msdn.microsoft.com nach oder im PSDK (so fern du es hast und das solltest du für, das was du vorhast) oder du kuckst in den Jedi-Units nach (wobei das nicht ganz so aufschlußreich ist, da bekommt man nur den Datentyp.).

Letztendlich scheine ich ja doch dein ganzes Programm zu programmieren. :roll:

f.r.e.s.h.d 11. Feb 2003 10:59

danke

Luckie 11. Feb 2003 11:02

Hast du es den jetzt hinbekommen?
Delphi-Quellcode:
if NetUserGetLocalGroups(nil, 'Gast', 0, 0, lgi01, MAX_PREFERRED_LENGTH, dwEntriesRead, dwEntriesTotal) = NERR_SUCCESS then
So sieht es bei mir aus.

f.r.e.s.h.d 11. Feb 2003 11:06

Nee, ich war noch am schauen, aber dein Lösungsansatz funktioniert!

Ich danke dir, hoffe ich kann dir mal bei anderen Sachen helfen, mit denen ich besser klar komme! Danke! :!:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz