在另一个现有hwnd窗口之后的窗口

Windows that follows another existing hwnd window

本文关键字:窗口 之后 hwnd 另一个      更新时间:2023-10-16

我需要创建一个应用程序,其中包含窗口(B),该窗口位于工具栏中另一个进程中的另一个窗口(A)之后。如果用户向左移动窗口A,则B窗口将跟随它向左移动。并复制在窗口A上执行的其他操作。

任何方向都非常受欢迎。(我认为我需要用SetWindowsHookex来实现它)。

一般来说,另一个进程拥有的窗口不在您的控制范围内。因此,你需要一个IPC机制来在你的进程之间进行通信,并让工具栏进程在被告知时移动它的窗口。假设你已经有了这个IPC机制,程序如下:

  1. 主进程启动并创建主窗口
  2. 主进程将回调函数与窗口关联(使用RegisterClass())
  3. 回调函数检查WM_MOVE消息,并将增量(即位置变化)转发到从属进程(工具栏)
  4. 在将delta添加到窗口的上一个位置之后,从进程在从窗口上调用MoveWindow()