2009-10-04 5 views
16

Ich muss den Standard "Select Users and Groups" -Dialog aus einer .NET/WPF-Anwendung anzeigen. Ich muss es auch unter einem 64-Bit-Betriebssystem anzeigen können. Ich fand this CodeProject Artikel, der ziemlich alt ist, datiert auf die .NET 1.1 Tage. Es ist in Managed C++ geschrieben und als COM-Objekt verfügbar, was nicht für meine Bedürfnisse funktioniert.Dialogfeld "Benutzer und Gruppen auswählen" aus WPF-Anwendung anzeigen?

Hat jemand eine Implementierung eines reinen .NET/C# -Wrappers für die Anzeige und Interaktion mit dem Standardsystem "Benutzer und Gruppen auswählen" implementiert, das mit einer WPF-Anwendung funktionieren wird?

Antwort

19

Nun, ich habe eine Lösung gefunden. Es stellte sich heraus, dass ich nach dem Falschen suchte. Anstelle von "Benutzer oder Gruppen auswählen" ist die richtige Suche nach "Active Directory-Objektauswahl". Der ADOP ist der allgemeine Dialog, der verwendet wird, um ein beliebiges Objekt aus Active Directory auszuwählen, einschließlich Benutzer, Gruppen, Computer usw. Es kommt vor, dass dieser Dialog die meiste Zeit den Titel "Benutzer oder Gruppen auswählen" trägt.

Zum Wohle alle anderen, die in dieses Problem hat, bin ich einen Link zu einem CodePlex-Projekt, Active Directory Common Dialogs .NET veröffentlichen, die für diesen Dialog ein sehr einfach zu bedienen .NET-Wrapper bietet. Macht es ziemlich so einfach wie jede andere gemeinsame .NET Dialog zu verwenden:

http://adui.codeplex.com/

Für diejenigen von Ihnen auf einem 64-Bit-Betriebssystem ausgeführt wird, oder ein moderneres Betriebssystem (win2k8 +), können Sie eine Begegnung Absturz nach Auswahl von Benutzern oder Gruppen und Auswahl von OK. Die Lösung für das Problem ist hier:

http://www.codeplex.com/ADUI/Thread/View.aspx?ThreadId=38047

hoffte, das hilft jemand anderes, das war/ist für die gleiche Sache suchen.

+1

+1 Ich hätte das für ein Projekt vor etwa einem Jahr wirklich nutzen können. Eins für die Lesezeichen, danke – AdamW

+1

@kerchingo: Sorry, ich habe vor einem Jahr nicht gesucht. : P Ich hoffe, dass diese Frage/Antwort von den Suchmaschinen aufgegriffen wird. Es gibt nichts da draußen, das sich auf "Benutzer oder Gruppen auswählen" und "Active Directory-Objektauswahl" bezieht, so dass es nahezu unmöglich ist, hilfreiche Informationen zu finden. – jrista

+1

Es ist ein Patch verfügbar, der die genannten Probleme und andere behebt: http://adui.codeplex.com/SourceControl/list/patches –

1

http://adui.codeplex.com/ - es ist eine gute Implementierung, aber es hat Speicherverlust, den ich nicht entfernen konnte. Wenn Sie es verwenden und versuchen, den Anzeigenauswahldialog mehrmals zu öffnen, erhalten Sie AccessViolationException zum Lesen/Schreiben von Speicher. Es ist ein schlechtes Zeichen.

Ich habe einen anderen Wrapper von here verwendet. Es sollte ein wenig im Code angepasst werden, aber AccessViolationExceptions.

+1

ADUI ist, was ich verwendet habe, wenn Sie meine eigene Antwort lesen. Ich habe eine Lösung mit dem Speicherleck verbunden, was ebenfalls zu Abstürzen führte. Bis jetzt funktioniert es perfekt auf 32bit und 64bit Systemen. – jrista

1

Wir haben ein NuGet erstellt, das unter verfügbar ist.

Es basiert auf diesem Projekt https://adui.codeplex.com/, das Projekt erwähnt von anderen, aber mit dem Speicherverlust behoben.

+0

danke!war auf der Suche nach diesem! – juFo

Verwandte Themen