gpt4 book ai didi

c++ - 为什么 MessageBox 会悄无声息地失败?

转载 作者:可可西里 更新时间:2023-11-01 09:56:56 24 4
gpt4 key购买 nike

有谁知道 MessageBox(...) 是如何悄无声息地失败的?

MessageBox(g_hMainhWnd, buffer, "Oops!", MB_OK | MB_ICONERROR);

ShellExecute(0, "open", "http://intranet/crash_handler.php", NULL, "", SW_SHOWNORMAL);

对于一点上下文,这段代码是在我们自己的异常处理程序中调用的,它是用 SetUnhandledExceptionFilter() 注册的

大多数时候,我会看到消息框,然后它会启动网络浏览器。

但是,我有一个 exe,据我所知,它使用了这个确切的代码,并且它成功启动了网络浏览器,但我没有首先看到消息框。

谢谢

蒂姆


破解了。我试着故意传入一个垃圾 HWND,但没有出现消息框。

谢谢布莱恩!

最佳答案

只是一个想法,但也许 g_hMainhWnd 无效?当您将 NULL 作为第一个参数时,看看它是否有效。

我建议在调用后调用 GetLastError 并将输出写入文件。这样您就可以看到 Windows 认为错误是什么。 MSDN MessageBox文档提到它为此 API 设置了 GetLastError,如果失败则返回零。

关于c++ - 为什么 MessageBox 会悄无声息地失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2921861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com