我想在 MFC 程序中挂钩窗口创建。
有什么办法可以做到这一点吗?
Use 设置WindowsHookEx安装一个CBTProc.
这是一些示例代码。只需致电InstallHook()
从程序的开头开始,然后监视HCBT_CREATEWND
通知代码。您可以通过从函数返回非零来取消窗口创建,如文档中所述。
LRESULT CALLBACK MyCbtHook(int nCode, WPARAM wParam, LPARAM lParam)
{
switch(nCode)
{
case HCBT_CREATEWND:
{
HWND hWnd = (HWND)wParam;
TRACE("A window is being created, HWND = %p\n", hWnd);
break;
}
}
return CallNextHookEx( 0, nCode, wParam, lParam );
}
void InstallHook()
{
SetWindowsHookEx(WH_CBT, MyCbtHook, 0, GetCurrentThreadId());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)