

### Issue Details

* **Electron Version:**
  * 7.1.1
* **Operating System:**
  *  Windows 10 (1803) 
* **Last Known Working Electron version:**
  * 6.1.3

### Expected Behavior
dialog.showMessageBox
https://electronjs.org/docs/api/dialog#dialogshowmessageboxbrowserwindow-options
Returns Promise<Object> - resolves with a promise containing the following properties:
- response Number - The index of the clicked button.
- **checkboxChecked** Boolean - The checked state of the checkbox if checkboxLabel was set. Otherwise false.

### Actual Behavior
checkboxChecked do not change



shell/browser/ui/message_box_win.cc
std::map<int, int> id_map;
  std::vector<TASKDIALOG_BUTTON> dialog_buttons;
  if (options & MESSAGE_BOX_NO_LINK) {
    for (size_t i = 0; i < buttons.size(); ++i)
      dialog_buttons.push_back(
          {static_cast<int>(i + kIDStart), buttons[i].c_str()});
  } else {
    MapToCommonID(buttons, &id_map, &config.dwCommonButtons, &dialog_buttons);
  }
  if (dialog_buttons.size() > 0) {
    config.pButtons = &dialog_buttons.front();
    config.cButtons = dialog_buttons.size();
    if (!(options & MESSAGE_BOX_NO_LINK))
      config.dwFlags |= TDF_USE_COMMAND_LINKS;  
  }
  int id = 0;
  BOOL verificationFlagChecked = FALSE;
  TaskDialogIndirect(&config, &id, nullptr, &verificationFlagChecked);
  if (checkbox_checked) {
    *checkbox_checked = verificationFlagChecked;
  }
  if (id_map.find(id) != id_map.end())  
    return id_map[id];
  else if (id >= kIDStart)  
    return id - kIDStart;
  else
    return cancel_id;
}
int ShowTaskDialogUTF8(const MessageBoxSettings& settings) {