NativeWindow equivalent
本文关键字:equivalent NativeWindow | 更新日期: 2023-09-27 18:00:05
在c#
中,我可以使用NativeWindow
类在与执行代码相同的进程内"劫持"窗口的WndProc
,从而使我能够覆盖某些消息并让其他消息通过。
这里有一个例子:
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_ENABLE:
//do default thing
base.WndProc(ref m);
//then do my thing
break;
case WM_PAINT:
//don't even call base.WndProc, I'll handle painting.
break;
default:
//all other messages...
base.WndProc(ref m);
break;
}
}
如何在c++ Win32
应用程序中完成相同的操作?我甚至不知道从哪里开始,也不知道正确的术语是什么。
您可以在C++中对任何HWND
使用WindowProc回调。
有关完整的详细信息和选项(在WIndows API中有很多方法可以做到这一点),请参阅使用WIndows过程。最接近C#选项的方法是将Window子类化。请注意,对Window进行子类化的新改进机制是使用SetWindowSubclass。