使用Win32 API更新许多Windows的Z顺序
发布时间:2020-12-14 04:19:05 所属栏目:Windows 来源:网络整理
导读:场景是我有一个顶级窗口的窗口句柄列表,我想转移它们,所以它们按我选择的z顺序排列.我开始迭代列表(我希望最后在最后的窗口),在每个窗口上调用SetForegroundWindow.这似乎在某些时候有效,但并非总是如此,当我在每次通话之间稍微暂停时会有所改善. 有一个更好
场景是我有一个顶级窗口的窗口句柄列表,我想转移它们,所以它们按我选择的z顺序排列.我开始迭代列表(我希望最后在最后的窗口),在每个窗口上调用SetForegroundWindow.这似乎在某些时候有效,但并非总是如此,当我在每次通话之间稍微暂停时会有所改善.
有一个更好的方法吗? 编辑: 看起来像BeginDeferWindowPos / DeferWindowPos / EndDeferWindowPos路线.但是,我似乎无法一次使用多个窗口.当我将窗口列表限制为单个窗口时,它可以正常工作.当列表有多个窗口时,它似乎只能获得其中一个窗口.这是我正在做的伪代码: HWND[] windows; HWND lastWindowHandle = 0; HDWP positionStructure = BeginDeferWindowPos(windows.length); for (int i = 0; i < windows.length; i++) { positionStructure = DeferWindowPos(positionStructure,windows[i],lastWindowHandle,SWP_NOMOVE | SWP_NOSIZE); } EndDeferWindowPos(positionStructure); 我确定这是一个小/明显的我在这里失踪,但我只是没有看到它.
有针对多个窗口设置窗口位置的特殊API集:
BeginDeferWindowPos DeferWindowPos EndDeferWindowPos(在一个循环SetWindowPos也将工作过程中的,但它可能有更多的闪烁)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows Admin Center 高可用部署
- windows-phone – WP8上的IE 10忽略了媒体查询?
- 运行exe碰到了DEP数据执行保护
- windows-phone-7 – WP7:删除应用程序名称中的下划线
- windows安装 Nodejs,NPM, CNPM
- windows – 一个很好的免费屏幕共享程序,用于配对编程?
- xaml – 可以将UWP应用移植到Windows 7吗?
- windows&nbsp;server&nbsp;2003&nbsp;重
- windows-server-2003 – 如何在Windows Small Business Ser
- Windows Mobile 6.5 C#开发:从哪里开始?