Visual c++ MFC消息框未显示在所有窗口的顶部

Visual c++ MFC消息框未显示在所有窗口的顶部,visual-c++,mfc,message,Visual C++,Mfc,Message,我用VC++创建了一个应用程序,问题是如果出现错误,我会显示MessageBox。但是这个消息框并没有显示在前面。我必须按ALT键才能进入该应用程序。我的应用程序将处于活动状态,直到我按下消息框上的ALT.和OK 这是附加的代码 MessageBox(NULL,"Invalid File, Parsing is going to be terminate"); AfxMessageBox(“Win32 MessageMessage”,MB|U OK | MB|U IConnexClation

我用VC++创建了一个应用程序,问题是如果出现错误,我会显示MessageBox。但是这个消息框并没有显示在前面。我必须按ALT键才能进入该应用程序。我的应用程序将处于活动状态,直到我按下消息框上的ALT.和OK

这是附加的代码

MessageBox(NULL,"Invalid File, Parsing is going to be terminate");
AfxMessageBox(“Win32 MessageMessage”,MB|U OK | MB|U IConnexClation | MB|U TOPMOST)


如果有人帮助我,我将非常感激

您需要传递手柄以在屏幕上显示Messagebox, 您可以使用HWND-WINAPI-GetDesktopWindow(void);函数获取桌面的句柄,并将其传递到MessageBox()函数中

你可以得到更多的帮助


GetDesktopWindoe检索桌面窗口的句柄。桌面窗口覆盖整个屏幕。桌面窗口是在其顶部绘制其他窗口的区域。因此,这也适用于OpenGL。

您使用的是哪一种<代码>消息框
AfxMessageBox
?如果你两个都用…那么,为什么两个都用?你是从不同的线程调用这个吗?如果使用Win32 API版本,则必须传递父窗口的句柄。灰色代码:我使用了这两个窗口,它们的行为都相同,我从Dialog类继承了父活动,并且在其中使用OpenGL窗口。。我正在学习如何使用Windows处理程序。如果我将::getWindows()作为第一个参数,它将不会编译。请帮我在主对话中,在属性上有哪些风格和边界的价值?问题可能就在那里。发布实际的重新编程代码(比如一个完整的类/函数定义,它表明了您描述的行为),而不仅仅是您在不同时间尝试的两个函数调用。猜测所有这些可能不起作用的原因是毫无意义的。这显然是一个焦点问题,因此您要么在前面几行中做了一些事情来隐藏焦点,要么未能将有效的窗口句柄传递给
MessageBox
函数调用,等等。。。另外,在你更新你的问题之后,如果你想通知别人,一定要在你的评论中使用
@user
符号。我已经这样做了。现在,当我从任何特定的对话框窗口按下按钮时,它会显示在前面。谢谢你的提醒,对不起,那是错的。看见