1. HHOOK g_Hook = NULL;
  2.  
  3. LRESULT CALLBACK CallWndProc(
  4. _In_ int nCode,
  5. _In_ WPARAM wParam,
  6. _In_ LPARAM lParam
  7. )
  8. {
  9. CWPSTRUCT * pMsg = (CWPSTRUCT*) lParam;
  10. if(pMsg->message == 0x500)
  11. {
  12. TCHAR szDebugMsg[] = {};
  13. _stprintf_s(szDebugMsg,_T("我的消息 消息内容:%s\n"),
  14. (TCHAR*)pMsg->wParam);
  15. OutputDebugString(szDebugMsg);
  16.  
  17. }
  18.  
  19. return CallNextHookEx(g_Hook,nCode,wParam,lParam);
  20. }
  21.  
  22. void CTestHookWindowProcedureDlg::OnBnClickedButton1()
  23. {
  24. // TODO: 在此添加控件通知处理程序代码
  25. g_Hook = ::SetWindowsHookEx(WH_CALLWNDPROC,CallWndProc,::GetModuleHandle(NULL),::GetCurrentThreadId());
  26. if(g_Hook == NULL)
  27. {
  28. TCHAR szError[] = {};
  29. _stprintf_s(szError,_T("Error:%d"),::GetLastError());
  30. AfxMessageBox(szError);
  31. }
  32.  
  33. }
  34.  
  35. UINT __cdecl MyControllingFunction( LPVOID pParam )
  36. {
  37. HWND hWnd = ((CTestHookWindowProcedureDlg*)pParam)->m_hWnd;
  38. while()
  39. {
  40. TCHAR szBuf[] = _T("张东升");
  41. OutputDebugString(_T("发送前\n"));
  42. ::SendMessage(hWnd,0x500,(WPARAM)szBuf,);
  43. OutputDebugString(_T("发送后\n"));
  44.  
  45. Sleep();
  46. }
  47. }
  48. void CTestHookWindowProcedureDlg::OnBnClickedButton2()
  49. {
  50. // TODO: 在此添加控件通知处理程序代码
  51. AfxBeginThread(MyControllingFunction,this);
  52. }

SetWindowHookEx 做消息响应的更多相关文章

  1. MFC消息响应机制 q

    MFC消息响应机制分析 1 引言微软公司提供的MFC基本类库(Microsoft Foundation Classes),是进行可视化编程时使用最为流行的一个类 库.MFC封装了大部分Windows ...

  2. 为duilib的MenuDemo增加消息响应,优化代码和显示效果

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/38253297 第一部分 我在前一段时间研究了怎么制作duilib的菜单, ...

  3. MFC消息响应机制分析

    ---- 摘要: ---- MFC是Windows下程序设计的最流行的一个类库,但是该类库比较庞杂,尤其是它的消息映射机制,更是涉及到很多低层的东西,我们在这里,对它的整个消息映射机制进行了系统的分析 ...

  4. MFC---简介、编码、结构和消息响应

    MFC简介 MFC是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数 在MFC中,可以直接调用 windows API,同时需要引用对应的头文件或库文件 ...

  5. 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)

        界面的显示方面就都讲完啦,下面来介绍下控件的响应.     前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEG ...

  6. MFC中消息响应机制

    由于视类窗口始终覆盖在框架类窗口之上,因此所有操作,包括鼠标单击.鼠标移动等操作都只能由视类窗口捕获.一个MFC消息响应函数在程序中有三处相关信息:函数原型.函数实现和以及用来关联消息和消息响应函数的 ...

  7. MFC动态按钮的创建及其消息响应(自定义消息)

    动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC_D_BTN 10000 2.在类的OnInitDialog()函数中动态创建按钮(建立按钮对象时最好建立对象的指针 ...

  8. MFC动态按钮的创建及其消息响应 和 自定义消息

    原文链接: http://www.cnblogs.com/gaohongchen01/p/4046525.html 动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC ...

  9. (bmp格式)用CDialog的OnCtlColor()消息响应处理背景画刷。

    (bmp格式)用CDialog的OnCtlColor()消息响应处理背景画刷. 加载位图资源IDB_BITMAP1,在Dlg类头文件中加入: CBrush m_brush; 在OnInitDialog ...

随机推荐

  1. .net web弹出对话框

    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('请输入 ...

  2. Main函数参数argc,argv说明

    C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) ...

  3. Javascript动态加载Html元素到页面Dom文档结构时执行顺序的不同

    我们有时会通过ajax动态获取一段Html代码,并且将这段代码通过javascript放到页面的Dom结构中去. 而很多时候通过ajax动态获取的Html代码中也包含javascript代码,有一点需 ...

  4. 50136142WXY的百度地图

    50136142WXY的百度地图 [试题描述] 社团里的WXY童鞋今天要出去旅游啦(他现在在北京为1号城市),决定去朝鲜平壤(N号城市).但是很穷的WXY没有钱坐飞机,只好坐汽车去朝鲜了.但是车上的百 ...

  5. android简单的夜间模式

    现在android项目values下打 attrs.xml <?xml version="1.0" encoding="utf-8"?> <r ...

  6. oracle 自动关闭 数据库连接

    数据库启动后过一会自动断开连接(大概10分钟)    方法一.直接修改资源配置文件     分三个步骤在sqlplus环境下完成.     第一步,查询资源文件,找到CONNECT_TIME所在的pr ...

  7. readonly/disable input 问题

    Perhapes for surity, in chrome and IE10, readonly/disabled input will be reset when the form submit. ...

  8. Hadoop集群管理之配置文件

    一.配置文件列表如下: [hadoop@node1 conf]$ pwd /app/hadoop/conf [hadoop@node1 conf]$ echo $HADOOP_HOME /app/ha ...

  9. [团队项目2.0]软件改进分析MathAPP

    软件改进分析 在此基础上,进行软件的改进. 首先,我们把这个软件理解成一个投入市场的.帮助小朋友进行算术运算练习的APP. 从质量保证的角度,有哪些需要改进的BUG? 从用户的角度(把自己当成小学生或 ...

  10. handler以及AnyscTask处理机制

    1.Handler 主文件:MainActivity.java package com.example.asynctaskdownload; import java.io.IOException; i ...