找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1153|回复: 1

[labview求助] LabVIEW API 钩子编程

[复制链接]
发表于 2010-11-7 21:58:47 | 显示全部楼层 |阅读模式
大家好!我用钩子程序捕获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);
}

发表于 2010-11-8 13:23:19 | 显示全部楼层
HWND hWnd=NULL;
主要是这个东西,需要转换的。我见过IVISION工具包里有这个程序。
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 01:33 , Processed in 0.026636 second(s), 6 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表