我想将 Win32 窗口句柄(例如来自 Microsoft Word、Excel 或 Outlook)传递给TaskDialog.ShowDialog()
。 为此,制作TaskDialog.ShowDialog(IntPtr owner)
public
而不是private
似乎就足够了。
你如何看待这个方法public
? 如果你愿意,我可以提供 PR。
谢谢!
嗨@mu88 ,原则上,如果在某些情况下GetActiveWindow
将句柄返回到不正确的窗口IntPtr
,我可以接受这种更改 - 是这样吗?
是否在 Excel 加载项或类似加载项中使用 TaskDialog?
如果是这样,将null
传递给Task.ShowDialog(Window)
会得到错误的所有者句柄吗?
感谢您这么快回来, @augustoproiete !
我们正在开发一个 WPF 应用程序。 此应用程序通过 COM 与 Excel 通信,并通过Process.MainWindowHandle
将 Excel 的窗口句柄检索为IntPtr
#$。 现在我们想在 Excel 中显示一个自定义的TaskDialog
- 所以对话框的所有者必须是 Excel 的窗口句柄。 所以在我们的例子中,没有可以充当所有者的 WPF 窗口,因为 Excel 不是基于 WPF。
我通过反射调用private TaskDialogButton ShowDialog(IntPtr owner)
进行了尝试,它就像一个魅力。
听起来不错。 如果你愿意的话,我会接受 PR。
如果您也可以向其他对话框添加相同的重载以保持一致性,则可以加分。
是的,我会去这个 PR
通过 #19 关闭
您能否为 NuGet 创建一个新版本, @augustoproiete ?
当然@mu88。 我将在明天晚上之前将新版本推送到 nuget.org
@mu88 NuGet 包发布到 nuget.org - https://www.nuget.org/packages/Ookii.Dialogs.Wpf/1.2.0
谢谢@augustoproiete ! 我已经集成了新包,它就像一个魅力🥳