windows x64应用程序中的.Net WPF任务对话框

x4shl7ld  于 2023-01-06  发布在  Windows
关注(0)|答案(3)|浏览(164)

我正在编写一个WPF应用程序,我想在其中显示一个Windows任务对话框。我已经使用了Windows TaskDialogIndirect P/Invoke函数周围的自制.Net Package 器,并且我使用了Ookii对话框NuGet包,但只要应用程序作为64位进程运行,这两个包都会失败。我需要“AnyCPU”,因为我的代码是MS Office外接程序,它应该能够运行在32位以及64位的微软Outlook。
我希望避免将自己的任务对话框滚动为WPF窗口,因此我的问题是:是否有一个.Net库/控件套件提供Windows任务对话框功能并支持64位?

yvt65v4c

yvt65v4c1#

您可以使用Microsoft在WindowsAPICodePack库中提供的NET Package 。
以下是您可以获取“已停用”库的方法:

查看此处了解用法:

或者,您可以使用一个用C#重新实现了大部分TaskDialog API的库:

sg2wtvxw

sg2wtvxw2#

当代人的回答是:加

<UseWindowsForms>true</UseWindowsForms>

到你的.csproj文件中的PropertyGroup,你可以直接使用所有这些标准对话框。不,这不是一个丑陋的黑客,它似乎是支持和推荐的方式...
这里讨论了如何将TaskDialog添加到.NET,并提供了许多示例:https://github.com/dotnet/winforms/issues/146

py49o6xq

py49o6xq3#

Ookii.Dialogs.Wpf对我来说在64位上工作得很好--而且总体上在任务对话框上做得很好。
当应用程序作为64位进程运行时立即失败
也许你指的是他们自述文件中的注解,听起来好像自从他们发布Ookii.Dialogs.Wpf v3. 1. 0以来就已经修复了。

相关问题