|
|
大家好!我用钩子程序捕获LabVIEW的消息windows!可是当窗口大小发生变化时却无法捕获wm_size消息(点菜单时却能捕wm_size获),我查了事件结构中的
窗体大小事件却是panel size!他又对应着windows事件中的哪一个消息呢?现将代码贴上大家指点
dll文件代码:
#include <windows.h>
static HWND hWnd=NULL;
#pragma data_seg("MySec")
HHOOK g_hPaint=NULL;
#pragma
LRESULT CALLBACK CallWndRetProc(
int nCode, // hook code
WPARAM wParam, // current-process flag
LPARAM lParam // message data
)
{
PCWPRETSTRUCT pMsg=(PCWPRETSTRUCT)lParam;
HDC hDC;
switch(int(pMsg->message))
{
case WM_SIZE:
hDC=::GetDC(hWnd);
::TextOut(hDC,200,200,"WM_SIZE",10);
::ReleaseDC(hWnd,hDC);
break;
}
return(1);
}
void SetHook(HWND hwnd)
{
hWnd=hwnd;
g_hPaint=SetWindowsHookEx(WH_CALLWNDPROCRET ,CallWndRetProc,GetModuleHandle("Hook"),GetCurrentThreadId());
}
void unHook()
{
UnhookWindowsHookEx(g_hPaint);
}
|
|