是什么原因引起的,我们的锁屏机制就那么简单的被破解了吗?...想想,因为我们设置了主窗口为 HWND_TOP(也就是 z-order 上的最顶层窗口),而我们通过新建窗口,将主窗口的 z-order 向后移动了一位,也就是说此时最顶层窗口已经不是主窗口,而是新建的窗口了...很简单:
首先设置新建窗口的 z-order 为 HWND_TOPMOST(也就是所有非顶层窗口的最上面)
::SetWindowPos(newWindowHwnd, HWND_TOPMOST, 0,...0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
1
然后再设置主窗口的 z-order 为 HWND_TOP(也就是最顶层窗口)
::SetWindowPos(mainHWnd..., HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
1
通过测试,修改后就没有问题了。