当一个窗口显示后,当你在桌面或其他窗口用鼠标点击后,他就自动关闭。
开始的做法是截取此窗口的WM_KILLFOCUS消息,然后Close,然而有时候此窗口本身没有获得焦点,这是你点击桌面他就不能获取WM_KILLFOCUS消息,所以无法关闭,以至于每次关闭此窗口之前,现要点击此窗口,然后再点击桌面才能关闭,怎么办?(其实就是做了一个托盘图标的的右键菜单而已)

解决方案 »

  1.   

    已经搞定,再显示后加上
    frmMenu.Show;
    SetForegroundWindow(frmMenu.Handle);
    搞定。
    各位谁还有高招,总的让我把这些分散出去阿。
      

  2.   

    用Hook应该可以实现,监测系统级的鼠标事件,收到鼠标消息时再判断当前拥有焦点的进程以做相应的操作
      

  3.   

    idHook参数设为:WH_MOUSE好像就是
      

  4.   

    你可能通过这个窗口的窗口类来找到该窗口的句柄,(窗口类是一定有的,并且是唯一的),
    有了窗口的句柄后,你就可以截取此窗口的WM_KILLFOCUS消息并进行处理了!