- Electron version: 1.1.0
- Operating system: N/A

Currently there isn't any way to remove dialog boxes (such as ones created through `dialog.showMessageBox`).  This can be useful in, for example, "Keep Waiting" dialogs.  After the window becomes responsive again it would be great if we could programmatically close the dialog.

shell/browser/ui/message_box_win.cc
config.dwFlags |= TDF_USE_COMMAND_LINKS;  
  }
  int button_id;
  int id = 0;
  BOOL verificationFlagChecked = FALSE;
  TaskDialogIndirect(&config, &id, nullptr, &verificationFlagChecked);
  if (id_map.find(id) != id_map.end())  
    button_id = id_map[id];
  else if (id >= kIDStart)  
    button_id = id - kIDStart;
  else
    button_id = cancel_id;
  return std::make_pair(button_id, verificationFlagChecked);
}
DialogResult ShowTaskDialogUTF8(const MessageBoxSettings& settings) {
  std::vector<std::wstring> buttons;
  for (const auto& button : settings.buttons)
    buttons.push_back(base::UTF8ToWide(button));
  const std::u16string title = base::UTF8ToUTF16(settings.title);
  const std::u16string message = base::UTF8ToUTF16(settings.message);
  const std::u16string detail = base::UTF8ToUTF16(settings.detail);
  const std::u16string checkbox_label =
      base::UTF8ToUTF16(settings.checkbox_label);
  return ShowTaskDialogWstr(
      settings.parent_window, settings.type, buttons, settings.default_id,
      settings.cancel_id, settings.no_link, title, message, detail,
      checkbox_label, settings.checkbox_checked, settings.icon);
}
}  
int ShowMessageBoxSync(const MessageBoxSettings& settings) {