[英]Hooking window creation in an MFC program
我想在MFC程序中掛接窗口創建。
有什么辦法嗎?
使用SetWindowHookEx安裝CBTProc 。
這是一些示例代碼。 只需從程序的開頭調用InstallHook()
,然后監視HCBT_CREATEWND
通知代碼。 您可以通過從函數返回非零值來取消窗口創建,如docs中所述。
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());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.