lichenglongllx 发表于 2010-11-7 21:58:47

LabVIEW API 钩子编程

大家好!我用钩子程序捕获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);
}

wdyjz 发表于 2010-11-8 13:23:19

HWND hWnd=NULL;
主要是这个东西,需要转换的。我见过IVISION工具包里有这个程序。
页: [1]
查看完整版本: LabVIEW API 钩子编程