我有一个窗口及其richEdit控件的句柄。我可以用自己的一个替换上述控件吗?我希望它表现得像原始的一样,即成为窗口的一部分,等等。
我将进一步阐述这个场景 - 我目前正在拆解一个应用程序,其中一个功能是文本编辑器。我当前(受限制的)环境中有各种程序挂钩,其中一个程序产生编辑器窗口的句柄。另一个允许我获取RichEdit20A控件窗口主机的句柄。
我想做的是 - 用我自己的(可能是.NET等价物)覆盖控件并修补应用程序的GetWindowText调用以使用新控件。为了实现它,我计划用C#/托管C ++编写类库并将其导入我的应用程序(用非托管C ++编写)。
此外,文本编辑器可以有任意数量的实例。
答案 0 :(得分:0)
听起来太复杂了。只需替换其WndProc(GWL_WNDPROC
),不转发任何内容,然后使HWND无效。这将强制重绘(WM_PAINT
)然后您可以捕获。业主可能甚至都不会注意到(除非他们也把它挂钩了),