HWND h=(HWND)GetForegroundWindow(); //得到前台的窗口句柄 
    ::SetWindowPos(h,HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE);
    AfxMessageBox("ok");mfc完整工程

解决方案 »

  1.   

    你是说消息框不能置顶吗?我虽然不了解MFC,说实话我不太喜欢MFC,希望我的解释可以帮助你在通常的窗口程序中,如果你这样创建HWND
    HWND hwnd = CreateWindow( .... );
    MessageBox( hWnd, info, "error", MB_OK );这个消息框无论你所运行的程序是独占系统(例如DirectX的全屏模式)资源还是通常模式下,它都会置顶,不是GetForegroundWindow没有取到主程序窗口句柄,就是afxMessageBox不使用主程序窗口句柄
      

  2.   

    先用spy++看看你获取到的句柄和你的目标窗口是否一致