zoukankan      html  css  js  c++  java
  • 窗口Z顺序

    在A窗口初始化的时候设置:

    ::SetWindowPos(this->m_hWnd,HWND_TOPMOST,0,0,800,79,SWP_HIDEWINDOW);

    情况一:

    由其他程序调用

    ::SetForegroundWindow(hwnd);//hwnd为由窗口名字找到的A窗口句柄

    ::ShowWindow(hwnd,SW_SHOW);

    窗口在最前面,调用::GetForegroundWindow() 返回的是A窗口的句柄。

     

    情况二:

    只调用

    ::ShowWindow(hwnd,SW_SHOW);  //A窗口也显示到最前面

    再调用 ::GetForegroundWindow() 返回的不是A窗口的句柄,是A窗口显示之前看到的最前面的窗口,

     

    A窗口非全屏窗口。

     

    、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

    GetForegroundWindow()获取的窗口句柄是:

    (1)刚刚执行的应用程序窗口的句柄。

    (2)调用SetForegroundWindow()的窗口的句柄。

    (3)当前使用的窗口。(活动窗口?)

    注:GetForegroundWindow()获取的值不会受ShowWindow函数影响。

     

    (A全屏窗口,B占局部屏幕)A没有TOPMOST属性。B有TOPMOST属性。

     

    当前窗口是A,打开新程序,新程序主窗口是B。

    B会显示在A的上面。GetForegroundWindow()获取B的窗口句柄。

    调用ShowWindow隐藏B,显示A,GetForegroundWindow()获取的仍是B的窗口句柄。

    点击A窗口,GetForegroundWindow()获取A窗口句柄。

    调用ShowWindow显示B,GetForegroundWindow()获取的是A的窗口句柄。A窗口正常刷新

    点击B,GetForegroundWindow()获取B窗口句柄。A窗口刷新停止。

     

    如果屏幕看到的窗口是TOPMOST属性窗口,再打开没有TOPMOST属性窗口,

    没有TOPMOST属性的窗口在下面,不会显示在前面。

     

     

    ezhong的博客园:http://www.cnblogs.com/ezhong/

  • 相关阅读:
    links[v1]
    WebSocket handshake: Unexpected response code: 404
    Spring mvc 启动 和 请求分发
    匹配括号
    js parseFloat 精度问题
    遍历查找跳格子逻辑
    Generic type test java
    java高效判断素数
    从数组中取3个数全排列
    vue-cli
  • 原文地址:https://www.cnblogs.com/ezhong/p/2181290.html
Copyright © 2011-2022 走看看