![]() |
EnumUsers Ergebnis darstellen
Hallo DP!
Ich möchte alle Benutzerkonten in einer Combobox darstellen. Über de Forensuche bin ich auf Luckies genialem EnumUsers bzw seiner MpuNTUser.pas gestossen. Mit
Delphi-Quellcode:
Müsste ich alle lokalen Benutzer als TStringArray zurückbekommen. Um das StringArray aber als Stringlist umzuwandeln hab ich folgendes probiert:
EnumUsers('127.0.0.1',FILTER_NORMAL_ACCOUNT);
Delphi-Quellcode:
etwas umständlich aber ich war der Meinung es könnte klappen. Leider ists eine ungültige Zeigeroperation und ich weiss nicht wie ich jetzt die user in die Combobox packen kann bzw in eine Stringlist.
procedure TFscript.Button1Click(Sender: TObject);
var idx : Integer; sl:Tstrings; begin sl:=TStringlist.create; for idx:=Low(EnumUsers('127.0.0.1',FILTER_NORMAL_ACCOUNT)) to High(EnumUsers('127.0.0.1',FILTER_NORMAL_ACCOUNT)) do try sl.Add(EnumUsers('127.0.0.1',FILTER_NORMAL_ACCOUNT)[idx]); finally sl.Free; end; end; Wie kann ich das lösen? |
Re: EnumUsers Ergebnis darstellen
Das das überhaupt kompiliert wundert mich, wenn ich mir mal so meine Funktion angucke:
Delphi-Quellcode:
Ich weiß ja nicht, was das für ein EnumUsers ist, aber meine Funktion benötigt vier Parameter und nicht zwei. Sie gibt auch kein StringArray zurück, sondern ruft eine Callback-Funktion auf. Aber selbst, wenn sie ein StringArray zurückgeben würde
function EnumUsers(const Server: WideString; filter: DWORD; Callback: TEnumUers; Data: Pointer): DWORD;
Delphi-Quellcode:
warum iterierst du nicht durch das StringArray durch?
StringArray := EnumUsers(..., ..., ...);
Delphi-Quellcode:
var
sa: TStringArray; i: Integer; begin sa := EnumUsers(..., ...); for i := 0 to length(sa) - 1 do begin cb.Add(sa[i]); end; |
Re: EnumUsers Ergebnis darstellen
Hallo Luckie,
danke das du persönlich antwortest :) Ich habe mich auch schon gewundert wieso in manchen Suchergebnissen die Enumusers mit der Callbackfkt. (4Param) und meine vorliegende Version (2Param) existiert. Ich habe wahrscheinlich eine ältere Version von deinem Projekt: runasuser. Dein schrittweises Wegschreiben ist natürlich völlig korrekt und bringt auch das gewünschte Ergebnis. :oops: Werd ich mir merken und vielen Dank Luckie! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr. |
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 by Thomas Breitkreuz