user-0 提问: 当捕获一个消息值后，如果查找该值对应的消息？

回复:
user: user-0
content: 引用 4 楼 gouyanfen 的回复:https://www.cnblogs.com/moonlight-zjb/p/3442280.html 这个6了！

user: user-0
content: 引用 6 楼 Intel0011 的回复:貌似CSDN有字符个数限制，不能粘贴太长，被截断了 你可以使用findinfiles软件搜索整个文件夹或整个分区 我感觉这个软件应该用不着吧，找文件里的内容，应该是说的查找文本内容是吧？我用findstr写了个脚本，功能应该是差不多的吧，没去搜（刚搜了，也没找到），毕竟只是一个消息数值。你这个表有后文吗？

user: user-1
content: 貌似CSDN有字符个数限制，不能粘贴太长，被截断了 你可以使用findinfiles软件搜索整个文件夹或整个分区

user: user-1
content: 搜索整个Include文件夹，可以看看网上是否有人总结过，我这里有个表，不知是哪找来的，不保证正确  WM_ Window Message 窗口消息，一般用在SendMessage，PostMessage这样的消息函数中  SM_ Static Message 静态标签消息  SS_ Static Style 静态标签风格  BM_ Button Message 按钮消息  BS_ Button Style 按钮风格  BN_ Button Notify 按钮通知  EM_ Edit Message 编辑框消息  ES_ Edit Style 编辑框风格  CB_ ComboBox 组合框消息  CBN_ ComboBox Notify 组合框通知  LBM_ ListBox Message 列表框消息  LBS_ ListBox Style 列表框风格  LBN_ ListBox Notify 列表框通知  LVM_ ListView Message 超级列表框(列表视图)消息  LVS_ ListView Style 超级列表框(列表视图)风格  LVN_ ListView Notify 超级列表框(列表视图)通知  TVM_ TreeView Message 树型框(树型视图)消息  TVS_ TreeView Style 树型框(树型视图)风格  TVN_ TreeView Notify 树型框(树型视图)通知  VK_ Virtual Keyboard 虚拟键、键代码   //0x0005/*_IMC_GETOPE  //0x0005/*_IMC_GETOPENSTATUS*/,"",   //0x0003/*_IMC_GETSENTENCEMODE*/,"",   0x000F/*_IMC_GETSTATUSWINDOWPOS*/,"发送给IME窗口,获取状态窗口的位置",   0x0022/*_IMC_OPENSTATUSWINDOW*/,"发送给IME窗口,显示状态窗口",   0x0008/*_IMC_SETCANDIDATEPOS*/,"发送给IME窗口,设置候选窗口的位置",   0x000A/*_IMC_SETCOMPOSITIONFONT*/,"发送给IME窗口,设置用来显示按键组合窗口中的文本的逻辑字体",   0x000C/*_IMC_SETCOMPOSITIONWINDOW*/,"发送给IME窗口,设置按键组合窗口的样式",    //0x0002/*_IMC_SETCONVERSIONMODE*/,"",   //0x0006/*_IMC_SETOPENSTATUS*/,"",   //0x0004/*_IMC_SETSENTENCEMODE*/,"",   0x0010/*_IMC_SETSTATUSWINDOWPOS*/,"发送给IME窗口,设置状态窗口的位置",   0x0003/*_IMN_CHANGECANDIDATE*/,"IME通知应用程序:候选窗口中的内容将改变",   0x0004/*_IMN_CLOSECANDIDATE*/,"IME通知应用程序:候选窗口将关闭",   0x0001/*_IMN_CLOSESTATUSWINDOW*/,"IME通知应用程序:状态窗口将关闭",   0x000D/*_IMN_GUIDELINE*/,"IME通知应用程序:将显示一条出错或其他信息",   0x0005/*_IMN_OPENCANDIDATE*/,"IME通知应用程序:将打开候选窗口",   0x0002/*_IMN_OPENSTATUSWINDOW*/,"IME通知应用程序:将创建状态窗口",   0x0009/*_IMN_SETCANDIDATEPOS*/,"IME通知应用程序:已结束候选处理同时将移动候选窗口",   0x000A/*_IMN_SETCOMPOSITIONFONT*/,"IME通知应用程序:输入内容的字体已被更改",   0x000B/*_IMN_SETCOMPOSITIONWINDOW*/,"IME通知应用程序:按键组合窗口的样式或位置已被更改",   0x0006/*_IMN_SETCONVERSIONMODE*/,"IME通知应用程序:输入内容的转换模式已被更改",   0x0008/*_IMN_SETOPENSTATUS*/,"IME通知应用程序:输入内容的状态已被更改",   0x0007/*_IMN_SETSENTENCEMODE*/,"IME通知应用程序:输入内容的语句模式已被更改",   0x000C/*_IMN_SETSTATUSWINDOWPOS*/,"IME通知应用程序:输入内容中的状态窗口的位置已被更改",   //IMR_CANDIDATEFORM,"",    //IMR_COMPOSITIONFORM,"",    //Pager Control,Pager控件消息,分页控件消息   (0x1400 + 3)/*_PGM_FORWARDMOUSE*/,"启用或禁用Pager分页控件的鼠标消息转发,若启用则Pager控件转发WM_MOUSEMOVE消息给包含的窗口,宏:Pager_ForwardMouse",   (0x1400 + 5)/*_PGM_GETBKCOLOR*/,"获取Pager分页控件的当前背景色,宏:Pager_GetBkColor",   (0x1400 + 7)/*_PGM_GETBORDER*/,"获取Pager分页控件的当前边界尺寸,宏:Pager_GetBorder",   (0x1400 + 11)/*_PGM_GETBUTTONSIZE*/,"获取Pager分页控件的当前按钮大小,宏:Pager_GetButtonSize",   (0x1400 + 12)/*_PGM_GETBUTTONSTATE*/,"获取Pager分页控件中指定按钮的状态,宏:Pager_GetButtonState",   (0x2000 + 4)/*_PGM_GETDROPTARGET*/,"获取Pager分页控件的IDropTarget接口指针,宏:Pager_GetDropTarget",   (0x1400 + 9)/*_PGM_GETPOS*/,"获取Pager分页控件的滚动条的当前位置,宏:Pager_GetPos",   (0x1400 + 2)/*_PGM_RECALCSIZE*/,"强制重新计算Pager分页控件包含的窗口的大小,宏:Pager_RecalcSize",   (0x1400 + 4)/*_PGM_SETBKCOLOR*/,"设置Pager分页控件的当前背景色,宏:Pager_SetBkColor",   (0x1400 + 6)/*_PGM_SETBORDER*/,"设置Pager分页控件的当前边界尺寸,宏:Pager_SetBorder",   (0x1400 + 10)/*_PGM_SETBUTTONSIZE*/,"设置Pager分页控件的当前按钮大小,宏:Pager_SetButtonSize",   (0x1400 + 1)/*_PGM_SETCHILD*/,"设置Pager分页控件中包含的窗口,宏:Pager_SetChild",   (0x1400 + 8)/*_PGM_SETPOS*/,"获取Pager分页控件的滚动条的当前位置,宏:Pager_SetPos",    //Pager Control,Pager控件通知消息   (-900-2)/*_PGN_CALCSIZE*/,"Pager控件发送的通知消息,用以获得所包含窗口的滚动尺寸,相关结构:NMPGCALCSIZE",   (-900-1)/*_PGN_SCROLL*/,"在所包含窗口被滚动之前,Pager控件发送的通知消息,相关结构:NMPGSCROLL",    //MIDI消息   0x3C2/*_MIM_CLOSE*/,"当MIDI输入设备被关闭时,把该消息发送给MIDI输入回调函数",   0x3C3/*_MIM_DATA*/,"当MIDI输入设备接收一条MIDI消息后,把该消息发送给MIDI输入回调函数",   0x3C5/*_MIM_ERROR*/,"当收到一条无效的MIDI消息时,把该消息发送给MIDI输入回调函数",   0x3C4/*_MIM_LONGDATA*/,"当输入缓冲区中填写了MIDI系统专用数据且将把该缓冲区交还给应用程序时,发送该消息给MIDI回调函数",   0x3C6/*_MIM_LONGERROR*/,"当收到一条无效的MIDI系统专用消息时,把该消息发送给一个MIDI输入回调函数",   0x3CC/*_MIM_MOREDATA*/,"当MIDI输入设备收到一条MIDI消息,但应用程序处理MIM_DATA消息不够快跟不上输入设备时,发送该消息给MIDI输入回调函数",   0x3C1/*_MIM_OPEN*/,"当MIDI输入设备被打开时,把该消息发送给MIDI输入回调函数",   0x3C2/*_MM_MIM_CLOSE*/,"当关闭某MIDI输入设备时,发送该消息给一个窗口。一旦发送了该消息,设备句柄将不再有效",   0x3C3/*_MM_MIM_DATA*/,"当MIDI输入设备收到一条完整的MIDI消息时,发送该消息给一个窗口",   0x3C5/*_MM_MIM_ERROR*/,"当收到一条无效的MIDI消息时,把该消息发给一个窗口",   0x3C4/*_MM_MIM_LONGDATA*/,"当输入缓冲区中填写了MIDI系统专用数据且将把该缓冲区交还给应用程序时,发送该消息给一个窗口",   0x3C6/*_MM_MIM_LONGERROR*/," 当收到一条无效的(或不完整的)MIDI系统专用消息时,发送该消息给一个窗口",   0x3CC/*_MM_MIM_MOREDATA*/,"当MIDI输入设备收到一条MIDI消息,但应用程序处理MIM_DATA消息不够快跟不上输入设备时,发送该消息给一个回调窗口",   0x3C1/*_MM_MIM_OPEN*/,"当MIDI输入设备被打开时,发送该消息给一个窗口",   0x3C8/*_MM_MOM_CLOSE*/,"当MIDI输出设备被关闭时,发送该消息给一个窗口;一旦发送了这一消息,设备句柄将不再有效",   0x3C9/*_MM_MOM_DONE*/,"当指定的系统专用缓冲区中的内容被播放完,并且将把该缓冲区交还给应用程序时,发送该消息给一个MIDI回调函数",   0x3C7/*_MM_MOM_OPEN*/,"当MIDI输出设备被打开时,发送该消息给一个窗口",   0x3CA/*_MM_MOM_POSITIONCB*/,"当在MIDI输出流中一个MEVT_F_CALLBACK(标志)事件到达时,发送该消息给一个窗口",   0x3C8/*_MOM_CLOSE*/,"当MIDI输出设备被关闭时,把该消息发送给MIDI输出回调函数",   0x3C9/*_MOM_DONE*/,"当指定的专用系统或流缓冲区已经播放,并且正在返回到应用程序时,发送该信息到MIDI输出回调函数",   0x3C7/*_MOM_OPEN*/,"当MIDI输出设备被打开时,把该消息发送给MIDI输出回调函数",   0x3CA/*_MOM_POSITIONCB*/,"当在MIDI输出流中一个MEVT_F_CALLBACK(标志)事件到达时,发送该消息给一个窗口",     //驱动程序消息   0x0004/*_DRV_CLOSE*/,"驱动程序因CloseDriver调用而关闭时,系统向它发出本消息,驱动程序常使用DRV_CLOSE通知来释放特定实例的数据结构",   0x0007/*_DRV_CONFIGURE*/,"驱动程序完成初始化安装及每当用户要重新配置驱动程序时,驱动安装程序会发送该消息",   0x0005/*_DRV_DISABLE*/,"驱动程序被释放或由Windows进入DOS时,向驱动程序发DRV_DISABLE消息",   0x0002/*_DRV_ENABLE*/,"当驱动程序首次加载后,系统向它发DRV_ENABLE消息,利用该消息设置硬件并挂接中断",   0x000B/*_DRV_EXITSESSION*/,"系统退出前,向所有打开的驱动程序发出该消息",   0x0006/*_DRV_FREE*/,"驱动程序被丢弃前,系统发送给它的最后一个消息就是DRV_FREE",   0x0009/*_DRV_INSTALL*/,"驱动程序安装过程中,它将收到该消息",   0x0001/*_DRV_LOAD*/,"驱动程序首次加载后,系统发送给它的就是DRV_LOAD消息,此时可初始化实例数据",   0x0003/*_DRV_OPEN*/,"驱动程序被OpenDriver调用打开时,系统向它发该消息",   0x000F/*_DRV_POWER*/,"在符合APM标准的系统中,当系统将进入或退出挂起模式时,驱动程序将收到DRV_PORWER消息",   0x0008/*_DRV_QUERYCONFIGURE*/,"驱动程序的安装程序利用该消息来确定驱动程序是否能由用户配置。若该消息返回TURE,安装程序会使能\"configure\"或\"Setup\"按钮",   0x000A/*_DRV_REMOVE*/,"驱动程序将从安装的驱动程序列表中删除时,将会收到该消息",   0x4000/*_DRV_USER*/,"用户自定义的驱动程序消息的消息值范围从DRV_RESERVED开始到DRV_USER",  DRV_EXITAPPLICATION,"应用程序退出时,系统向驱动程序发出该消息",       0x0800/*_DRV_RESERVED*/,"用户自定义的驱动程序消息的消息值范围从DRV_RESERVED开始到DRV_USER",    //Power Management,电源管理消息,PBT_:Power BaTtery   0x0009/*_PBT_APMBATTERYLOW*/,"该消息发送到应用程序,通知BIOS的电池电量不足,窗口通过WM_POWERBROADCAST收到此消息",   0x000B/*_PBT_APMOEMEVENT*/,"高级电源管理的基本输入/输出系统 (BIOS)发出高级电源管理的OEM事件信号时(APM:高级电源管理),发送本消息,窗口通过WM_POWERBROADCAST收到此消息,注:这不是个统一事件,各OEM厂商会根据自己的判断尝试捕捉各自事件",   0x000A/*_PBT_APMPOWERSTATUSCHANGE*/,"计算机电源状态改变时,发送本消息,如:检测到电池电源切换A/C或低于一个阈值后的剩余电池电量的下降,窗口通过WM_POWERBROADCAST收到此消息",   0x0000/*_PBT_APMQUERYSUSPEND*/,"发送该消息以请求允许挂起计算机,授予权限的应用程序应在返回前挂起,窗口通过WM_POWERBROADCAST收到此消息",   0x0002/*_PBT_APMQUERYSUSPENDFAILED*/,"待机请求被拒绝时,发送该消息,窗口通过WM_POWERBROADCAST收到此消息",   0x0012/*_PBT_APMRESUMEAUTOMATIC*/,"计算机自动唤醒以处理某事件时,发送该消息,窗口通过WM_POWERBROADCAST收到此消息",   0x0006/*_PBT_APMRESUMECRITICAL*/,"由于BIOS电池问题使计算机被挂起后恢复操作时,发送该消息,驱动程序通过WM_POWERBROADCAST收到此消息",   0x0007/*_PBT_APMRESUMESUSPEND*/,"系统待机后恢复运行时,发送该消息,窗口通过WM_POWERBROADCAST收到此消",   0x0004/*_PBT_APMSUSPEND*/,"系统进入待机后,会立即发送该消息,窗口通过WM_POWERBROADCAST收到此消息",    //setup functions,驱动安装函数消息   0x0000000d/*_SPFILENOTIFY_COPYERROR*/,"驱动安装过程中,文件拷贝发生错误时,该通知发送给回调例程",   0x00000007/*_SPFILENOTIFY_DELETEERROR*/,"驱动安装过程中,文件删除操作发生错误时,该通知发送给回调例程",   0x0000000c/*_SPFILENOTIFY_ENDCOPY*/,"驱动安装过程中,队列完成复制操作时,该通知传递给回调函数(即使用户取消或有错误发生,该通知也被发送)",   0x00000006/*_SPFILENOTIFY_ENDDELETE*/,"驱动安装过程中,当队列完成删除操作时,该通知被返回给回调例程(即使用户取消或有错误发生,该通知也被发送)",   0x00000002/*_SPFILENOTIFY_ENDQUEUE*/,"驱动安装过程中,队列中的所有作业已完成后,该通知发送给回调例程",   0x00000009/*_SPFILENOTIFY_ENDRENAME*/,"驱动安装过程中,队列完成重命名操作后,该通知发送到回调例程(即使用户取消或有错误发生,该通知也被发送)",   0x00000004/*_SPFILENOTIFY_ENDSUBQUEUE*/,"驱动安装过程中,队列完成子队列中的删除、重命名或拷贝作业后,该通知发送给回调例程",   0x00000013/*_SPFILENOTIFY_FILEEXTRACTED*/,"驱动安装过程中,该通知发送给SetupIterateCabinet函数的回调例程,用以表明已从cab压缩文件中提取出一个文件,或提取失败并且对cab压缩文件的处理已被取消",   0x00000011/*_SPFILENOTIFY_FILEINCABINET*/,"驱动安装过程中,每当cab压缩文件中找到一个文件时,该通知送到SetupIterateCabinet函数的回调例程,回调例程须返回一个值以指示是否提取该文件",   0x00000014/*_SPFILENOTIFY_FILEOPDELAYED*/,"驱动安装过程中,如果文件操作被延时(由于文件在使用中),该通知由SetupInstallFileEx函数或SetupCommitFileQueue函数发送给回调例程,该文件操作将在下次系统重启时被继续处理",   0x00010000/*_SPFILENOTIFY_LANGMISMATCH*/,"驱动安装过程中,若要复制文件的语言不匹配现有目标文件的语言,该通知发送给回调例程,它可被单独或联合发送到回调例程(通过\"或\"操 作:SPFILENOTIFY_TARGETEXISTS 与/或 SPFILENOTIFY_TARGETNEWER)",   0x0000000e/*_SPFILENOTIFY_NEEDMEDIA*/,"驱动安装过程中,当需要新的媒介或新的cab压缩文件时,该通知发送给回调例程",   0x00000012/*_SPFILENOTIFY_NEEDNEWCABINET*/,"驱动安装过程中,该通知由SetupIterateCabinet函数发送,用以表明当前文件需有另一个cab压缩文件柜才能继续。您的回调例程可调用SetupPromptForDisk函数,或创建自己的对话框,提示用户去插入下一张磁盘",   0x0000000f/*_SPFILENOTIFY_QUEUESCAN*/,"驱动安装过程中,该通知由SetupScanFileQueue函数发送给回调例程,用以检索文件队列的拷贝子队列中的各个节点(只发生在以SPQ_SCAN_USE_CALLBACK标志调用SetupScanFileQueue函数时)",   0x0000000a/*_SPFILENOTIFY_RENAMEERROR*/,"驱动安装过程中,若文件重命名操作过程中发生错误时,该通知发送给回调例程",   0x0000000b/*_SPFILENOTIFY_STARTCOPY*/,"驱动安装过程中,当队列开始文件拷贝操作时,该通知发送给回调函数",   0x00000005/*_SPFILENOTIFY_STARTDELETE*/,"驱动安装过程中,当队列开始文件删除操作时,该通知发送给回调函数",   0x00000001/*_SPFILENOTIFY_STARTQUEUE*/,"驱动安装过程中,当队列允许进程启动时,该通知发送给回调例程",   0x00000008/*_SPFILENOTIFY_STARTRENAME*/,"驱动安装过程中,当队列开始文件重命名操作时,该通知发送给回调函数",   0x00000003/*_SPFILENOTIFY_STARTSUBQUEUE*/,"驱动安装过程中,当列队开始处理在删除、重命名或拷贝子队列中的作业时,该通知发送给回调函数",   0x00020000/*_SPFILENOTIFY_TARGETEXISTS*/,"驱动安装过程中,如果要拷贝的文件已用SP_COPY_NOOVERWRITE标志进行列队,且该文件在目标目录中已经存在时,该通知发送给回调例程。它可被单独或联合发送到回调例程(通过或操作:SPFILENOTIFY_LANGMISMATCH 与/或 SPFILENOTIFY_TARGETNEWER通知)",   0x00040000/*_SPFILENOTIFY_TARGETNEWER*/,"驱动安装过程中,驱动安装过程中,如果要拷贝的文件已用P_COPY_NEWER或SP_COPY_FORCE_NEWER标志进行列队,且较新版本在文件中已经存在时,该通知发送给回调例程。它可被单独或联合发送到回调例程(通过或操作:SPFILENOTIFY_LANGMISMATCH 与/或 SPFILENOTIFY_TARGETEXISTS通知)",   0x0000/*_WM_NULL*/,"空消息,可检测程序是否有响应等",   0x0001/*_WM_CREATE*/,"新建一个窗口",   0x0002/*_WM_DESTROY*/,"销毁一个窗口",   //IDSTR(0x0004),"",   0x0003/*_WM_MOVE*/,"移动一个窗口",   0x0005/*_WM_SIZE*/,"改变一个窗口的大小",   0x0006/*_WM_ACTIVATE*/,"一个窗口被激活或失去激活状态",   0x0007/*_WM_SETFOCUS*/,"将焦点转向一个窗口",   0x0008/*_WM_KILLFOCUS*/,"使一个窗口失去焦点",   //IDSTR(0x0009),"",   0x000A/*_WM_ENABLE*/,"使一个窗口处于可用状态",   0x000B/*_WM_SETREDRAW*/,"设置窗口是否能重绘",   0x000C/*_WM_SETTEXT*/,"设置一个窗口的文本",   0x000D/*_WM_GETTEXT*/,"复制窗口的文本到缓冲区",   0x000E/*_WM_GETTEXTLENGTH*/,"得到窗口的文本长度(不含结束符)",   0x000F/*_WM_PAINT*/,"窗口重绘",   0x0010/*_WM_CLOSE*/,"用户关闭窗口时会发送本消息,紧接着会发送WM_DESTROY消息",   0x0011/*_WM_QUERYENDSESSION*/,"关机或注销时系统会按优先级给各进程发送WM_QUERYENDSESSION,告诉应用程序要关机或注销了",   0x0012/*_WM_

user: user-2
content: https://www.cnblogs.com/moonlight-zjb/p/3442280.html

user: user-0
content: 引用 1 楼 user-3 的回复:就找到一个，代码搜索关键字 #define WM_DWMNCRENDERINGCHANGED        0x031F 谢谢哈，不过你是怎么搜的？在谷歌搜的吗？我百度“WM_   0x31f也没找到”

user: user-2
content: 引用 楼主 六道佩恩 的回复:以查看winuser.h，没找到，想在微软网站搜又不知道怎么搜，消息值是0x31f、0xc0fc、0xc052 消息值是什么意义，要看应用程序怎么解释，windows只是预定义，分发消息处理函数，而且消息值可以自定义，不是消息值都可以查到对应的说明的，你用spy看消息，如果没有出来对应的解释就说明应该是自定义消息

user: user-3
content: 就找到一个，代码搜索关键字 #define WM_DWMNCRENDERINGCHANGED        0x031F