消息框未显示MessageBoxA()

时间:2018-12-07 09:43:45

标签: windows winapi messagebox

我的Windows机器上发生了一些奇怪的事情。 我有一个调用MessageBoxA(...)

的应用程序
auto errorCode = MessageBoxA(NULL, "Somtext", "Sometitle", MB_YESNO | MB_TASKMODAL | MB_SETFOREGROUND | MB_DEFBUTTON1);

问题在于该消息框从未显示。对MessageBoxA(...)的调用立即返回,errorCode告诉我已按下默认按钮。到目前为止,很奇怪。除此之外,这也是我发现的。

  • 该消息框的内容(未显示)自动显示为Windows事件日志中的条目。
  • 这仅在我的应用程序中发生。我尝试了其他应用程序,它们显示的消息框很好。

我正在运行Windows 7 Embedded。 那里有人知道这是怎么回事吗?

1 个答案:

答案 0 :(得分:0)

问题在于这两个注册表项:

HKLM\System\CurrentControlSet\Control\Error Message Instrument\EnableDefaultReply
  • 0 =“禁用”,单击“默认按钮”
  • 1 =“启用”点击“默认按钮”

HKLM\System\CurrentControlSet\Control\Error Message Instrument\EnableLogging
  • 0 =不记录由对话框过滤器(应用程序日志)处理过的消息框

  • 1 =记录已由对话框过滤器(应用程序日志)处理的消息框

有关此问题的讨论here

谢谢Hans Passant