怎样知道其他程序窗口中的一个按钮被点击了

hngyq 2005-03-16 03:15:14
如题,有没有比较好的办法
如果用钩子获取所有系统消息的话,那些消息可以证明这个按钮被点击了
...全文
125 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Mr-Chen 2005-03-16
使用全局消息钩子

LRESULT WINAPI CallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if (nCode == HC_ACTION)
{
CWPSTRUCT *p = (CWPSTRUCT*)lParam;
HWND hTargetHwnd = m_hwnd; // 中转句柄
if (p->message == WM_COMMAND )// 捕获命令
{
//......
}
}
}
return CallNextHookEx(hProc,nCode,wParam,lParam);
}
SetWindowsHookEx(WH_CALLWNDPROC, CallWndProc, glhInstance, dwThreadID);
回复
oyljerry 2005-03-16
消息钩子
回复
Kudeet 2005-03-16
使用WH_GETMESSAGE钩子
回复
hngyq 2005-03-16
能说的详细写吗?
用不用钩子,用什么样的钩子,怎么样截获WM_COMMAND
最好能给些示例代码
谢了
回复
ipgk 2005-03-16
WM_COMMAND
wNotifyCode = HIWORD(wParam); // notification code
wID = LOWORD(wParam); // item, control, or accelerator identifier
hwndCtl = (HWND) lParam; // handle of control
截获WM_COMMAND后,对比wID或hwndCtl。
回复
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2005-03-16 03:15
社区公告
暂无公告