如何在Windows窗体消息框中检测按下了哪个按钮?

时间:2016-05-30 15:22:15

标签: c++ windows messagebox windows-applications

在我的Windows窗体应用程序中,我想提示用户重启PC。这是我的代码:

 if(MessageBox::Show(L"Restart your PC now?", "Attention!", MessageBoxButtons::YesNo, MessageBoxIcon::Question)==::DialogResult::Yes)
{
//restarting pc
     system("c:\\windows\\system32\\shutdown /r /t 10 \n\n");
     system("PAUSE");
}

但是这段代码在:: DialogResult :: Yes上给我错误。我正在关注Microsoft文档。怎么解决这个问题?

1 个答案:

答案 0 :(得分:2)

...猜测

看起来这是.NET代码(尽管在C ++中),在这种情况下,DialogResult类型未在全局范围内定义,而是在System::Windows::Forms命名空间中定义。因此,请删除前导::(或将其完全限定为System::Windows::Forms::DialogResult)。

另请注意,有些API可以重新启动Windows ExitWindowsExInitiateShutdownEx。无需调用外部程序。