【问题标题】:How do I host an application window as a child of a window belonging to another process?如何将应用程序窗口作为属于另一个进程的窗口的子窗口托管?
【发布时间】:2009-02-06 20:54:40
【问题描述】:

我想将来自进程“A”的应用程序窗口托管到进程“B”的主窗口中,就像“A”的窗口是 MDI 子窗口一样。这在 Windows 中可能吗?还是有一些技巧可以让我伪造这个?

顺便说一句,当“A”的窗口嵌入到“B”的窗口中时,我想删除它的标题栏(或者更好的是,所有非客户端的东西)。我想这必须通过调整窗口样式或窗口类来实现,但我绝不是这些 Win32 错综复杂的专家。

【问题讨论】:

    标签: windows hosting embedding reparenting


    【解决方案1】:

    可以托管窗口。通过调用 SetParent 函数来更改 A 的父 HWND。要更改窗口样式,您需要使用 GetWindowLong/SetWindowLong 对来更改要使用的属性。

    如果这是第三方应用程序(即,不是您的应用程序),那么您可能会遇到麻烦,尤其是当窗口对其窗口进行任何主题化或任何自定义操作时(例如,更改拖动区域等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 2021-05-09
      • 1970-01-01
      • 2017-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多