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

hngyq 2005-03-16 03:15:14
如题,有没有比较好的办法
如果用钩子获取所有系统消息的话,那些消息可以证明这个按钮被点击了
...全文
200 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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。

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧