从现有 window 创建子 HWND 句柄

Creating a sub HWND handle from an existant window

我有一个正在绘制 manually/programmatically 的 winform window,我想为我无法修改的进程提供一个 HWND 句柄,该句柄明确等待 win32 HWND (这个进程然后将使用 HWND 句柄) 在我的 window 中绘制它自己的东西。

细节的重点是 我希望 HWND 指向我 window 中的某个位置。

有没有办法创建一个新的人工 HWND,它会指向我的window的特定区域?

您只能获取 window 的 HWND,并且每个控件(如按钮、复选框等)也被视为 windows。 因此,如果在 "zone" 处没有控件位于您想要将 HWND 指向的位置,那是不可能的。 但是,如果那个地方有一个群组框,那是可能的。

您想绘制到某个区域。 那么为什么不直接获取 window 的句柄并使用 GetClientRect 和 GetWindowRect 并绘制到您想要的 x/y 坐标。