通过窗口句柄获取窗口消息

Posted lidabo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过窗口句柄获取窗口消息相关的知识,希望对你有一定的参考价值。

WNDPROC g_pOldProc = NULL;
LRESULT CALLBACK NewWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

switch (message)

case WM_ACTIVATE:
printf("NewWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam).....WM_ACTIVATE\n");
break;

//继续调用原来的窗口过程函数  
return CallWindowProc(g_pOldProc, hwnd, message, wParam, lParam);

...更改

HWND t_handle=.....;
g_pOldProc = (WNDPROC)GetWindowLong(t_handle, GWL_WNDPROC);//获取旧的窗口过程函数指针保存

SetWindowLong(t_handle, GWL_WNDPROC, long(NewWndProc));//设置新的窗口过程函数  

.....还原

HWND t_handle=.....;

SetWindowLong(t_handle, GWL_WNDPROC, (long)g_pOldProc);//恢复旧的过程函数  

以上是关于通过窗口句柄获取窗口消息的主要内容,如果未能解决你的问题,请参考以下文章

主窗口中如何获取子窗口某控件句柄?

易语言怎么通过窗口句柄实现关闭该窗口或发送东西

NX二次开发-通过获取窗口句柄方式来设置类型过滤器EnumChildWindows

获取窗口句柄,并向窗口发送自定义消息

c#获取窗口句柄后 如何遍历所有控件

VB 获取窗口句柄