在运行时用另一个替换窗口的控制
题
我有一个句柄窗口及其RichEdit控件。我将能够代替我自己的一个所述控制?我想它表现为原始将一个,即,是窗和类似的一部分。
我会进一步阐述情景 - 我目前正在拆卸的应用程序,其功能之一是一个文本编辑器。我现在的(限制)的环境中有不同的钩子程序,其中之一产量的句柄编辑器窗口。另一个让我采购的句柄RichEdit20A控制窗口主机。
我想要做的是这样的 - 覆盖我自己的(其相当于.NET大概)控制和补丁应用程序的调用GetWindowText函数使用新的一个。为了实现它,我打算写在C#的类库/托管C ++,并将其导入到我的应用程序(这是写在非托管C ++)。
此外,可以有文本编辑器的实例的任意数量。
解决方案
这听起来方式过于复杂。只需更换它的WndProc(GWL_WNDPROC
),转发什么,然后验证HWND。这将迫使重绘(WM_PAINT
),你可以然后捕获。所有者可能不会察觉(除非他们已经迷上它为好,当然)
不隶属于 StackOverflow