将wndproc挂钩添加到Win32窗口

问题描述

我有一个本机VB6窗口,我想在.NET中侦听其更改位置或大小以重新定位WPF窗口的时间。我在.NET类HwndSource.fromHWnd(VB6FormHWnd)中尝试过此方法,但它只返回null而不是HwndSource实例。我想这是因为窗口不是最初创建来承载WPF内容的?我不太确定。我想使用它的addHook函数

我知道VB6中有某种“子类化”方法来处理WndProc消息,并且我可以在WndProc处理程序中从VB6调用某种.NET服务来广播或转发消息。我过去曾尝试过,但取得了一些成功,但是子类的调试变得棘手,并在调试时(通过VB6编辑器)对我造成了崩溃的问题。

解决方法

JFYI,在VB6 IDE中,The Modern Subclassing Thunk (MST)都不会崩溃。

您可能会因为其他一些问题而崩溃,而不是因为错误的子类化处理。