Существует еще один вид окна сообщения в WinAPI, начиная с Windows 2000. Это SHMessageBoxCheck
.
Позволяет отображать стандартный MB_OKCANCEL
/ MB_YESNO
/ MB_OK
-тип MessageBox
с параметром Никогда не показывать его снова, указав, какой вариант по умолчанию в этом случае является.
Может быть, это не совсем то, что вы ищете, но это вполне соответствует Windows UI.
В Vista большинство диалоговых окон оболочки «Да для всех» на самом деле работают именно так - нет дополнительной кнопки с надписью «Да / Нет для всех» - вместо этого есть флажок «Выполнить выбранное действие для всех элементов».
Однако примечание в документации меня беспокоит:
Эта функция доступна в Microsoft Windows XP и Windows Server 2003. Она может быть изменена или недоступна в последующих версиях Windows.