И TaskDialog()
, и TaskDialogIndirect()
принудительно используют кнопку по умолчанию, если вы не указываете какие-либо кнопки, но у вас есть контроль над тем, какие кнопки используются, поэтому я бы поместил кнопку «Прервать» в диалоговом окне, чтобы отменить любую операциювы отображаете статус.Или, может быть, кнопка «Скрыть», если пользователь больше не хочет видеть ход выполнения, не останавливая текущую операцию.
Для активации функции индикатора выполнения необходимо использовать TaskDialogIndirect()
.Вы также можете использовать его функцию обратного вызова, чтобы получить HWND
диалогового окна, чтобы при необходимости можно было закрыть его программным способом.
В противном случае не используйте API TaskDialog.Просто создайте свое собственное окно со своим пользовательским интерфейсом, и тогда вы сможете делать с ним все, что захотите.