是否存在MessageBox可以返回0而不是内存不足的情况?我有一个案例,我怀疑我传递给MessageBox的HWND是无效的,或者它可能属于一个正在被销毁的窗口。
在我的例子中,MessageBox没有显示并返回0,但是我似乎有足够的内存可用。
发布于 2009-08-17 21:22:29
是否存在MessageBox可以返回0而不是内存不足的情况?
从MSDN文档中:
http://msdn.microsoft.com/en-us/library/ms645505%28VS.85%29.aspx
If the function fails, the return value is zero. To get extended error information, call GetLastError.我会调用GetLastError()来查看它返回的错误代码。
发布于 2009-08-17 21:21:48
如果您将NULL或GetDesktopWindow()作为HWND参数传递,问题会消失吗?如果是这样,那么你可能是正确的。您还可以尝试使用IsWindow()或IsWindowVisible()函数提前验证HWND。(尽管如果有问题的窗口正在被销毁,我不确定这些函数的行为是否可靠。)
https://stackoverflow.com/questions/1290517
复制相似问题