拦截对话框中的按钮消息
2007-02-28 17:59
197 查看
小弟想拦截对话框中的按钮消息,就是对话框中的BUTTON按下时的消息 ,很多对话框包括WINDOWS自己的对话框,这个消息比较好过滤,我只要安装 WH_CALLWNDPROC 钩子,在WM_COMMADN 消息中,加入以下过滤条件 :
CWPSTRUCT* pCwp = (CWPSTRUCT*)lParam;
(HIWORD(pCwp->wParam) == 0 )&& ((HWND) (pCwp->lParam )!= NULL)
基本可以准确捕获到对话框的按钮消息。
但我也发现许多对话框,用上面的方法是捕获不到的。也许当按下按钮时会发出 WM_COMMAND消息,但我的程序是没有办法过滤到这个消息,因为WM_COMMAND消息实在是太多了,我怎么知道哪一个是按按钮产生的呢?所以用WM_COMMAND消息似乎不行,不知道其他消息行不行,我的目的是拦截用户在对话框中进行的操作,比如按下按钮,或者勾选了单选框等等,我不关心用户进行了什么操作,但我一定要拦截这个消息。 用其他类型的钩子会不会容易实现?
WH_MSGFILTER钩子似乎可以捕捉到按钮本身的消息?小弟没用过这种钩子,请熟悉的大哥们给个建议。谢谢,分不够再加。分不是问题
CWPSTRUCT* pCwp = (CWPSTRUCT*)lParam;
(HIWORD(pCwp->wParam) == 0 )&& ((HWND) (pCwp->lParam )!= NULL)
基本可以准确捕获到对话框的按钮消息。
但我也发现许多对话框,用上面的方法是捕获不到的。也许当按下按钮时会发出 WM_COMMAND消息,但我的程序是没有办法过滤到这个消息,因为WM_COMMAND消息实在是太多了,我怎么知道哪一个是按按钮产生的呢?所以用WM_COMMAND消息似乎不行,不知道其他消息行不行,我的目的是拦截用户在对话框中进行的操作,比如按下按钮,或者勾选了单选框等等,我不关心用户进行了什么操作,但我一定要拦截这个消息。 用其他类型的钩子会不会容易实现?
WH_MSGFILTER钩子似乎可以捕捉到按钮本身的消息?小弟没用过这种钩子,请熟悉的大哥们给个建议。谢谢,分不够再加。分不是问题
相关文章推荐
- Delphi中WebBrowser拦截网页Alert对话框消息(转)
- VC(在主对话框上捕获按钮等控件上的鼠标消息)
- Delphi中WebBrowser拦截网页Alert对话框消息(转)
- linux GTK教程(消息机制/标签/按钮/图像/文本/对话框/菜单/容器)
- 对话框程序动态生成按钮数组并响应点击消息
- [小代码]简单的对话框设置标题、消息、图标和按钮
- MFC基于对话框 创建工具栏 工具栏提示 窗口同步缩放 拦截主界面Enter按下 窗口过程 菜单工具栏按钮变灰
- confirm() :带有指定消息和 OK 及取消按钮的对话框
- Delphi中WebBrowser拦截网页Alert对话框消息
- MFC对话框Enter键、Esc键、关闭按钮的消息处理
- MFC动态创建对话框中的按钮控件并创建其响应消息
- QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
- MFC中,我从一个对话框,同时在按钮的消息处理函数中利用DoModal()函数一级一级的创建许多模态对话框,那么怎样从某个子对话框返回第一个对话框呢?
- 【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
- 对话框程序动态生成按钮数组并响应点击消息
- confirm() 方法用于显示一个带有指定消息和确定及取消按钮的对话框
- 求取按钮控件在对话框中的相对位置
- ios对话框 按钮
- Android 三个按钮对话框
- 弹出对话框时候屏蔽掉返回键,以及给返回键设置监听消息