问题标签 [taskdialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - tkinter 询问目录()
基于上次更新的文件移动。仅使用按钮 3,我在目录末尾缺少一个斜杠。这会导致路径与我要移动的文本文件合并:
所有显示按钮
c# - TaskDialog 无法在 Windows 10 上运行(或替代)?
我们有一个较旧的 WPF 应用程序,它使用“Windows API 代码包”来显示任务对话框(在 Vista 中引入的东西,但在 Windows 8 中一直有效)。
我现在尝试在 Windows 10 上运行该项目,当我尝试显示任务对话框时,出现以下异常:
System.AccessViolationException : 试图读取或写入受保护的内存。这通常表明其他内存已损坏。
在 Microsoft.WindowsAPICodePack.Dialogs.NativeTaskDialog.NativeShow()在 Microsoft.WindowsAPICodePack.Dialogs.NativeShow() 在 Microsoft.WindowsAPICodePack.Dialogs.NativeTaskDialog.NativeShow(
) 在 Microsoft.WindowsAPICodePack.Dialogs.NativeTaskDialog.NativeShow()
在 Microsoft.WindowsAPICodePack.Dialogs.TaskDialog.ShowCore()
这些 API 在 Windows 10 中不再可用吗?
是否有在 Windows 10 中可用的类似功能的替代品而无需编写自定义对话框?
编辑:我让它运行(我猜是运气好?我没有更改任何代码)并且对话框弹出如下:
应该有3个按钮,而且绝对没有汉字,所以我同意这里肯定有一些内存问题的例外。有任何想法吗?
c# - Wpf 自定义任务对话框显示多个
我在 WPF 中创建了自己的自定义任务对话框窗口。我希望它遵循我的应用程序的风格,并且我有一些自定义内容要放置在它上面,所以我不喜欢使用 win32 任务对话框。
我的应用程序使用异步任务(async/await)从数据库加载数据。如果加载数据时出现错误/异常,ui 线程将显示带有错误信息的(自定义)TaskDialog。
win32 任务对话框将显示其自身的一个实例,而其他待显示的 TaskDialogs 仅在第一个返回后才会显示(或者实际上它似乎阻止了等待的任务继续)问题是我的自定义任务对话框显示多个错误同一时间(来自等待的任务),在屏幕上多次显示。
我理解这个问题的方式(也许我在这里错了)是,尽管使用了 ShowDialog(),但我的任务对话框仍在 UI 线程上运行并发送消息。进一步的同步主窗口代码没有执行,但是如果一个任务完成等待,它返回到 UI 线程执行,并假设有一个数据加载错误,另一个(自定义)任务对话框显示:
1) 主窗口开始在多个等待任务中加载数据
2) 等待任务返回错误/异常
3) 自定义任务对话框窗口显示为 ShowDialog()
4) 当自定义任务对话框仍然显示时,另一个等待任务也返回错误
5) 继续代码在当前显示任务对话框的 UI 线程上执行
6) 第二个自定义任务对话框显示在第一个
等之上
我真的无法弄清楚 Win32 任务对话框如何在保持 UI 线程处于活动状态的同时阻止对其自身的多次调用。我尝试了许多不同的解决方案,但似乎没有任何工作正常。
我意识到我可以使我的任务对话框异步,在其上使用信号量和 WaitAsync,但由于我的任务对话框需要返回一个 TaskDialogResult,我需要等待对我的任务对话框的每次调用,这将是太多的代码更改。
我知道我必须在这里遗漏一些东西,有人对此有任何想法吗?
我试过的:
使我的任务对话框调用异步,使用信号量和 WaitAsync 可以工作,但是我的任务对话框需要返回 TaskDialog 结果,所以我必须等待每次调用它,不幸的是,代码更改太多。
我尝试在单独的线程中运行我的任务对话框并阻塞主 UI 线程,直到任务对话框返回。这确实给了我想要的效果,但是阻塞主 UI 线程会导致其他地方出现问题。这似乎也不是正确的方法。
windows - 如何避免 Win32 TaskDialog 中的自动文本截断
我们正在使用TaskDialogIndirect函数来报告应用程序中的所有类型的消息。我在 TaskDialog 中看到的问题是它会自动截断两边都带有省略号的牢不可破的文本,而且似乎没有办法避免这种行为。因此,例如,由于路径被截断,我无法使用文件的完整路径显示文件错误。我什至尝试了TDF_SIZE_TO_CONTENT标志,它应该根据内容自动调整对话框的大小,但它只适用于稍长的路径并再次截断。
有人对此有任何想法吗?任何解决方法?
c++ - 在 Windows 任务对话框中替换文本“确定”、“取消”、“是”、“否”
在 Win32任务对话框中,标准按钮的文本“确定”、“取消”、“是”、“否”等会自动以系统语言显示。如果软件的语言与系统的语言不同,这可能是个问题。
例如,如果客户在英文 Windows 上安装我们软件的法文版本,任务对话框的内容将是法文的,但无论如何,任务对话框底部的标准按钮都是英文的。
有谁知道我该如何更改这些文本。
这个问题类似于处理属性表的这个 SO question 。
更新:
我尝试从中派生一个类CTaskDialog
并覆盖该OnInit()
方法以获取 CTaskDialogm_hWnd
并采用与前面提到的问题类似的方法,但不幸CTaskDialog::m_hWnd
的是它是私有的:
然而,这是一个非常糟糕的主意,它可以正确地完成,如下面我自己的答案所示。
c# - 找不到名为“TaskDialogIndirect DLL ComCtl32”的入口点
我在我的一个项目中使用 TaskDialog。在付出了相当多的努力之后,它工作得非常完美。但就在刚才,当我运行我的应用程序时,突然在 5 分钟前运行良好的同一个应用程序中开始出现这个异常。我完全惊呆了。
背后的原因可能是什么?