我的程序有时候需要弹出一个messagebox来警告用户
这就需要给这个messagebox提供一个parent.
由于我的程序可能打开多个窗口,但是处于最前面的肯定只有一个了用什么代码可以得到哪个窗口是当前程序最前面的那个呢。(本程序失去焦点时,警告框也可能弹出来)求个函数 谢谢了

解决方案 »

  1.   

    你想弹窗口就弹窗口,和最前端窗口没关系啊,只要在你想弹messagebox的窗口代码中弹就是了!OS会帮你搞定这些东西的!
      

  2.   

    GetForegroundWindow这个API试试看。
      

  3.   

    谢谢各位哦 还没解决问题 getforegroundwindow之类的函数 都必须当前进程是活动进程才有效
    我的目的是 在当前程序主窗口即使没激活 得到当前程序弹出的所有窗口中 哪个最前
      

  4.   

    可以考虑用一个变量记录应用程序失去焦点前的活动窗口。
    另外::MessageBox产生的是弹出式窗口,没有父窗口,只有Owner。
      

  5.   

    你为什么要这么做?
    我觉得你MessageBox的窗口父窗口应该指定为MainFrame
      

  6.   

    得到当前的active 窗口就可以了
      

  7.   

    当前active窗口不一定是本程序的我这个需求是有必要的 比如线程里探出一个窗口 需要messagebox
      

  8.   


    MFC好像无法得到zoder这个属性啊