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

标签 c++ messagebox windows

在我的 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 文档。如何解决?

最佳答案

猜测...

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

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

关于c++ - 如何检测在 Windows 窗体消息框中按下了哪个按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37529159/

相关文章:

c++ - C++ 对话框中的混淆函数

c++ - 在线判断编程,如spoj,topcoder

c++ - 在 C++ 中嵌套 for()

c++ - 比较 shared_ptr 对象是否相等

Delphi消息框出现在其他窗体后面

c# - 模态消息框线程问题

windows - 在 Windows cmd 中,如何提示用户输入并在另一个命令中使用结果?

c++ - 如何完全遍历 QStandardItemModel?

c# - SQL异常不显示在消息框中

java - 如何确定屏幕保护程序是否在 Java 中运行?