【问题标题】:Display "Select Users and Groups" dialog from WPF application?从 WPF 应用程序显示“选择用户和组”对话框?
【发布时间】:2009-10-04 07:04:30
【问题描述】:

我需要从 .NET/WPF 应用程序中显示标准的“选择用户和组”对话框。我还需要能够在 64 位操作系统下显示它。我找到了this CodeProject 的文章,相当古老,可以追溯到.NET 1.1 时代。它是用托管 C++ 编写的,并作为 COM 对象公开,这不能满足我的需要。

是否有人实现或知道纯 .NET/C# 包装器的实现,用于显示标准系统“选择用户和组”对话框并与之交互,该对话框将与 WPF 应用程序一起使用?

【问题讨论】:

    标签: .net wpf dialog


    【解决方案1】:

    嗯,我找到了解决办法。原来我在寻找错误的东西。要搜索的正确内容不是“选择用户或组”,而是“Active Directory 对象选择器”。 ADOP 是用于从 Active Directory 中选择任何对象的常用对话框,包括用户、组、计算机等。碰巧此对话框大部分时间标题为“选择用户或组”。

    为了其他遇到此问题的人的利益,我发布了 CodePlex 项目的链接,Active Directory Common Dialogs .NET,它提供了一个非常易于使用的 .NET 包装器对于这个对话框。使其与任何其他常见的 .NET 对话框一样易于使用:

    http://adui.codeplex.com/

    对于在 64 位操作系统或更现代的操作系统 (Win2k8+) 上运行的用户,在选择用户或组并选择确定后可能会遇到崩溃。问题的解决方法在这里:

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

    希望这对正在/正在寻找相同东西的其他人有所帮助。

    【讨论】:

    • +1 大约一年前我真的可以将它用于一个项目,我最终从头开始滚动一个。一个用于书签,谢谢
    • @kerchingo:抱歉,我一年前没看。 :P 不过,我希望这个问题/答案会被搜索引擎收录。没有其他东西可以将“选择用户或组”和“Active Directory 对象选择器”联系在一起,因此几乎不可能找到有用的信息。
    • 有一个补丁可以修复上述问题和其他问题:adui.codeplex.com/SourceControl/list/patches
    • 我已经下载了上面的代码(谢谢!),我想为 AD 访问远程计算机,有人知道我在哪里可以在代码中提供密码吗?
    • 我们将其作为 Nuget 提供并修复。安装包 Tulpep.ActiveDirectoryObjectPicker
    【解决方案2】:

    我们在https://github.com/Tulpep/Active-Directory-Object-Picker 创建了一个可用的 NuGet。

    它基于这个项目https://adui.codeplex.com/,其他人提到的项目,但内存泄漏已修复。

    【讨论】:

      【解决方案3】:

      http://adui.codeplex.com/ - 这是一个很好的实现,但它有我无法删除的内存泄漏。如果您使用它并尝试多次打开广告选择器对话框,您将收到 AccessViolationException 来读取/写入内存。这是不好的迹象。

      我使用了来自here 的另一个包装器。它应该在代码中进行一点自定义,但 AccessViolationExceptions。

      【讨论】:

      • ADUI 是我使用的,如果您阅读我自己的答案。我也将一个解决方案链接到导致崩溃的内存泄漏。到目前为止,我让它在 32 位和 64 位系统上都能完美运行。
      猜你喜欢
      • 2020-11-23
      • 2015-04-16
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多