Benutzernamen aller User des Systems ausgeben
-
tipp schrieb:
LunaGirl => Frau
Wo liegt der Zusammenhang zu meinem/diesem Problem?
Ich bin etwas verwundert darüber das NetUserEnum offensichtlich doch funktionieren soll. Ich habe zwar beim Compillieren keinen Fehler bekommen. Sonst habe ich leider auch rein gar nichts bekommen - jedenfalls hat er keinen einzigen Benutzernamen ausgespuckt.
-
Rückgabewert getestet?
und poste mal deinen code...
-
Bei NetUserEnum ist ein Beispiel in der Dokumentation. Hast du das probiert?
Bei mir klappt das.
-
ich auch schrieb:
Bei NetUserEnum ist ein Beispiel in der Dokumentation. Hast du das probiert?
Bei mir klappt das.Wenn ich das Bsp. aus der MSDN übernehme bekomme ich folgenden Fehler: "error C2440: '=': '_TCHAR *' kann nicht in 'LPCWSTR' konvertiert werden". Wenn ich das in LPCWSTR ändere beomme ich einen Konvertierungsfehler.
Sieht soaus als ob ich den Code von gestern nicht gleich hätte entsorgen sollen.
Leider kann ich den Fehler der gestern auftrat (nämlich das er ohne Fehler ompliert und dann einfach gar nichts macht) nicht mehr reproduzieren. Dafür bekomme ich jetzt schon bei comilieren Fehlermeldungen: error LNK2019: Nicht aufgelöstes externes Symbol '_NetUserEnum@32' oder auch immer wieder gerne genommen: error C2664: 'NetUserEnum': Konvertierung des Parameters 4 von 'LPBYTE **__w64 ' in 'LPBYTE * ' nicht möglich... LPBYTE* pBuf; DWORD dwEntriesRead = 0; DWORD dwTotalEntries = 0; DWORD dwResumeHandle = 0; int nStatus = 0; nStatus = NetUserEnum(NULL,0,FILTER_NORMAL_ACCOUNT,(LPBYTE*)&pBuf,MAX_PREFERRED_LENGTH,&dwEntriesRead,&dwTotalEntries,&dwResumeHandle); ...
-
nein es ist der linker.
-
lol schrieb:
nein es ist der linker.
Sorry - vo lauter hin und her hab ich versehntlich mein #pragma comment(lib, "Netapi32.lib") vergessen.
So jetzt habe ich wieder den Stand von gestern. Nämlich nichts passiert.
nStatus ist 0 und ich kann nicht nachvollziehen warum.
-
Probier mal das Programm von Luckie!! Das benutzt auch die Funktion.
Wenn das nicht bei dir funktioniert ist wahrscheinlich dein Windows kaputt.

-
was bekommst du zurück als nStatus, dwTotalHandles, dwEntriesRead? Windows-Version?
Wie schon gesagt, rät MS zu NetQueryDisplayInformation (was aber unter Win9x nicht geht). Trotzdem sollte netUserEnum was zurückgeben

-
Das gehört wohl in die Kategorie "Kuriositäten die keiner versteht".
Auf einem anderen Rechner funktioniert das Programm einwandfrei. Auf diesem Rechner ist nStatus immer 0. D.h. das Programm funktioniert nicht.
Der Rechner läuft aber einwandfrei. Alle User können sich einloggen.
Neugierig wie ich bin habe ich den Rechner sogar frisch installiert (war eine sau Arbeit!). Effekt - Null, funktioniert hier immer noch nicht.
Wie auch immer am anderen Rechner geht es. Vielen Dank für die Hilfe!
-
MSDN:
The NetUserEnum function does not return all system users. It returns only those users who have been added with a call to the NetUserAdd function.Ist das irgendein Windows mit "gekappter" Nutzerverwaltung?