问题标签 [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.

0 投票
0 回答
133 浏览

c# - 是在 Windows TaskDialogs (c#) 中禁用路径缩短的方法吗?

我使用了 Windows 任务对话框的 WindowsApiCodePack C# 包装器。当我尝试用路径显示长文本时,我的所有路径都被省略号而不是真正的自动换行缩短了。这使得路径中的文件名不可读。像这儿:

任务对话框屏幕显示 在 spolier 文本或正文中设置此文本时的行为相同。

是禁用此功能的方法吗?我希望我的路径能够完全显示、包装或以其他方式显示。

这是我对文本的期望。MessageBox 如何处理文本: 消息框

0 投票
1 回答
26849 浏览

python - tkinter 询问目录()

基于上次更新的文件移动。仅使用按钮 3,我在目录末尾缺少一个斜杠。这会导致路径与我要移动的文本文件合并:


所有显示按钮

0 投票
1 回答
1366 浏览

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 中可用的类似功能的替代品而无需编写自定义对话框?

编辑:我让它运行(我猜是运气好?我没有更改任何代码)并且对话框弹出如下:

Win10 任务对话框

应该有3个按钮,而且绝对没有汉字,所以我同意这里肯定有一些内存问题的例外。有任何想法吗?

0 投票
0 回答
228 浏览

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 线程会导致其他地方出现问题。这似乎也不是正确的方法。

0 投票
0 回答
169 浏览

windows - 如何避免 Win32 TaskDialog 中的自动文本截断

我们正在使用TaskDialogIndirect函数来报告应用程序中的所有类型的消息。我在 TaskDialog 中看到的问题是它会自动截断两边都带有省略号的牢不可破的文本,而且似乎没有办法避免这种行为。因此,例如,由于路径被截断,我无法使用文件的完整路径显示文件错误。我什至尝试了TDF_SIZE_TO_CONTENT标志,它应该根据内容自动调整对话框的大小,但它只适用于稍长的路径并再次截断。

有人对此有任何想法吗?任何解决方法?

0 投票
1 回答
541 浏览

c++ - 在 Windows 任务对话框中替换文本“确定”、“取消”、“是”、“否”

在 Win32任务对话框中,标准按钮的文本“确定”、“取消”、“是”、“否”等会自动以系统语言显示。如果软件的语言与系统的语言不同,这可能是个问题。

例如,如果客户在英文 Windows 上安装我们软件的法文版本,任务对话框的内容将是法文的,但无论如何,任务对话框底部的标准按钮都是英文的。

有谁知道我该如何更改这些文本。

这个问题类似于处理属性表的这个 SO question 。

更新:

我尝试从中派生一个类CTaskDialog并覆盖该OnInit()方法以获取 CTaskDialogm_hWnd并采用与前面提到的问题类似的方法,但不幸CTaskDialog::m_hWnd的是它是私有的:

然而,这是一个非常糟糕的主意,它可以正确地完成,如下面我自己的答案所示。

0 投票
0 回答
37 浏览

c# - 找不到名为“TaskDialogIndirect DLL ComCtl32”的入口点

我在我的一个项目中使用 TaskDialog。在付出了相当多的努力之后,它工作得非常完美。但就在刚才,当我运行我的应用程序时,突然在 5 分钟前运行良好的同一个应用程序中开始出现这个异常。我完全惊呆了。

背后的原因可能是什么?

0 投票
0 回答
46 浏览

mfc - 将 CComboBox 与 CTaskDialog 上的 CRadioButton 选项相关联

我一直在玩CTaskDialog. 目前我有这个:

任务对话框

目前的代码非常简单:

我想让重复提醒命令行有一个与之关联的下拉组合,以便用户可以指定重复之前的周数。

我不知道这是否可以通过任务对话框实现。

0 投票
1 回答
132 浏览

hyperlink - CTaskDialog 页脚中的超链接

我读过这篇文章:

文章

样本

它清楚地表明页脚支持超链接。我不知道该怎么做。我不想要文本中的文字 URL,而是其他超链接到程序中帮助文章的文本。

0 投票
1 回答
124 浏览

mfc - 将 CTaskDialog 的宽度设置为屏幕宽度的 50%

我在设置宽度时遇到问题。这是我的代码:

这是消息框的样子:

任务对话框

上面的屏幕显示使用值300。最初我试图使用:

它不喜欢它,几乎和屏幕一样宽。如果我使用 500,那么它看起来几乎占屏幕的 50%。然而我的屏幕只有不到 2000 像素宽。

帮助文档说明参数是像素,那么为什么我的代码现在以 50% 的屏幕宽度显示消息框(如果我启用我的代码)?