AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

EnumUsers Ergebnis darstellen

Ein Thema von Ajin · begonnen am 23. Feb 2008 · letzter Beitrag vom 23. Feb 2008
Antwort Antwort
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

EnumUsers Ergebnis darstellen

  Alt 23. Feb 2008, 10:59
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
EnumUsers('127.0.0.1',FILTER_NORMAL_ACCOUNT); Müsste ich alle lokalen Benutzer als TStringArray zurückbekommen. Um das StringArray aber als Stringlist umzuwandeln hab ich folgendes probiert:

Delphi-Quellcode:
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;
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.

Wie kann ich das lösen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: EnumUsers Ergebnis darstellen

  Alt 23. Feb 2008, 11:24
Das das überhaupt kompiliert wundert mich, wenn ich mir mal so meine Funktion angucke:
function EnumUsers(const Server: WideString; filter: DWORD; Callback: TEnumUers; Data: Pointer): DWORD; 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
StringArray := EnumUsers(..., ..., ...); warum iterierst du nicht durch das StringArray durch?
Delphi-Quellcode:
var
  sa: TStringArray;
  i: Integer;
begin
  sa := EnumUsers(..., ...);
  for i := 0 to length(sa) - 1 do
  begin
    cb.Add(sa[i]);
  end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#3

Re: EnumUsers Ergebnis darstellen

  Alt 23. Feb 2008, 11:38
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.

Werd ich mir merken und vielen Dank Luckie!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz