-
2022-01-21 10:58:17
Centos7 安装 Anaconda3 及 常用的conda命令
更多相关内容 -
Windows常用消息大全和Windows消息机制(总结篇)
2019-07-31 19:17:49Windows常用消息大全和Windows消息机制(总结篇) 详谈Windows消息循环机制 一、重要的概念 先看一下Windows 消息MSG结构体的定义: typedef struct tagMsg { HWND hwnd; // 接受该消息的窗口句柄 UINT message; /...Windows常用消息大全和Windows消息机制(总结篇)
一、重要的概念
先看一下Windows 消息MSG结构体的定义:
typedef struct tagMsg { HWND hwnd; // 接受该消息的窗口句柄 UINT message; // 消息常量标识符,也就是我们通常所说的消息号 WPARAM wParam; // 32位消息的特定附加信息,确切含义依赖于消息值 LPARAM lParam; // 32位消息的特定附加信息,确切含义依赖于消息值 DWORD time; // 消息创建时的时间 POINT pt; // 消息创建时的鼠标/光标在屏幕坐标系中的位置 }MSG;
Windows消息按类型分类:
窗口消息,命令消息,控件通知消息和用户定义消息
(1)窗口消息:即与窗口的内部运作有关的消息,如创建窗口,绘制窗口,销毁窗口等。
一般以WM_开头,如WM_CREATE, WM_SIZE, WM_MOUSEMOVE等标准的Windows消息, 用于窗口相关的事件通知,窗口消息将由系统分配到该窗口的窗口过程处理。(2)命令消息 (WM_COMMAND):
当用户从菜单选中一个命令项目、按下一个快捷键或者点击工具栏上的一个按钮,都将发送WM_COMMAND命令消息。一种特殊的窗口消息,它从一个窗口发送到另一个窗口以处理来自用户的请求,通常是从子窗口发送到父窗口,例如,点击按钮时,按钮的父窗口会收到WM_COMMAND消息,用以通知父窗口按钮被点击,经测试:子窗口向父窗口发送WM_COMMAND消息,或者称为父窗口会收到WM_COMMAND消息,操作系统并不是通过将WM_COMMAND消息放入到父窗口的消息队列中去,而是直接调用了父窗口的窗口过程,以 WM_COMMAND 为消息标识参数(UINT uMsg),实现这个功能的。
(3)控件通知消息:
当一个窗口内的子控件发生了一些事情,而这些是需要通知父窗口的,通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows公共控件如树状视图、列表视图等。随着控件的种类越来越多,用WM_NOTIFY消息来扩展WM_COMMAND消息。
(4)用户定义消息:
windwos也能定义自己的消息,使用SendMessage或PostMessage来发送消息。
队列消息和非队列消息:
消息队列可以分成系统消息队列和线程消息队列。系统消息队列由Windows维护,线程消息队列则由每个GUI线程自己进行维护,为避免给non-GUI现成创建消息队列,所有线程产生时并没有消息队列,仅当线程第一次调用GDI函数时系统才给线程创建一个消息队列。
(1)队列消息:如:WM_PAINT,WM_TIMER,WM_CREATE,WM_QUIT,以及鼠标,键盘消息等。当鼠标、键盘事件被触发后,相应的鼠标或键盘驱动程序就会把这些事件转换成相应的消息,然后输送到系统消息队列,由 Windows系统去进行处理。
(2)非队列消息:
非队列消息将会绕过系统队列和消息队列,直接将消息发送到窗口过程。如:WM_ACTIVATE, WM_SETFOCUS, WM_SETCURSOR,WM_WINDOWPOSCHANGED
二、Windows 常用消息
消息名称 值 含义 WM_NULL 0x0000 空消息,此消息将被接收窗口忽略 WM_CREATE 0x0001 应用程序创建一个窗口 WM_DESTROY 0x0002 一个窗口被销毁 WM_MOVE 0x0003 移动一个窗口 WM_SIZE 0x0005 改变一个窗口的大小 WM_ACTIVATE 0x0006 一个窗口被激活或失去激活状态 WM_SETFOCUS 0x0007 获得焦点后 WM_KILLFOCUS 0x0008 失去焦点 WM_ENABLE 0x000A 应用程序Enable状态改变时产生 WM_SETREDRAW 0x000B 设置窗口是否能重画 WM_SETTEXT 0x000C 应用程序发送此消息来设置一个窗口的文本 WM_GETTEXT 0x000D 应用程序发送此消息来复制对应窗口的文本到缓冲区 WM_GETTEXTLENGTH 0x000E 得到与一个窗口有关的文本的长度(不包含空字符) WM_PAINT 0x000F 要求一个窗口重绘自己 WM_CLOSE 0x0010 当一个窗口或应用程序要关闭时发送一个信号 WM_QUERYENDSESSION 0x0011 用户选择结束对话框或应用程序自己调用ExitWindows()函数 WM_QUIT 0x0012 用来结束程序运行或应用程序调用Postquitmessage()函数来产生此消息 WM_QUERYOPEN 0x0013 当用户窗口恢复以前的大小位置时,把此消息发送给某个图标 WM_ERASEBKGND 0x0014 当窗口背景必须被擦除时(例如在窗口改变大小时) WM_SYSCOLORCHANGE 0x0015 当系统颜色改变时,发送此消息给所有顶级窗口 WM_ENDSESSION 0x0016 当系统进程发出WM_QUERYENDSESSION消息后,此消息发送给应用程序 WM_SHOWWINDOW 0x0018 当隐藏或显示窗口是发送此消息给这个窗口 WM_ACTIVATEAPP 0x001C 当某个窗口将被激活时,将被激活窗口和当前活动(即将失去激活)窗口会收到此消息,发此消息给应用程序哪个窗口是激活的,哪个是非激活的 WM_FONTCHANGE 0x001D 当系统的字体资源库变化时发送此消息给所有顶级窗口 WM_TIMECHANGE 0x001E 当系统的时间变化时发送此消息给所有顶级窗口 WM_CANCELMODE 0x001F 发送此消息来取消某种正在进行的操作 WM_SETCURSOR 0x0020 如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,发消息给该窗口 WM_MOUSEACTIVATE 0x0021 当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息给当前窗口 WM_CHILDACTIVATE 0x0022 发送此消息给MDI子窗口当用户点击此窗口的标题栏,或当窗口被激活、移动、改变大小 WM_QUEUESYNC 0x0023 此消息由基于计算机的训练程序发送,通过WH_JOURNALPALYBACK的Hook程序分离出用户输入消息 WM_GETMINMAXINFO 0x0024 当窗口要将要改变大小或位置时,发送此消息给该窗口 WM_PAINTICON 0x0026 当窗口图标将要被重绘时,发送此消息给该窗口 WM_ICONERASEBKGND 0x0027 在一个最小化窗口的图标在重绘前,当图标背景必须被重绘时,发送此消息给该窗口 WM_NEXTDLGCTL 0x0028 发送此消息给一个对话框程序以更改焦点位置 WM_SPOOLERSTATUS 0x002A 当打印管理列队增加或减少一条作业时发出此消息 WM_DRAWITEM 0x002B 当Button,ComboBox,Listbox,Menu控件的外观改变时,发送此消息给这些控件的所有者 WM_MEASUREITEM 0x002C 当Button,ComboBox,list box,ListView,Menu 项被创建时,发送此消息给控件的所有者 WM_DELETEITEM 0x002D 当ListBox 或 ComboBox 被销毁或当某些项通过发送LB_DELETESTRING、LB_RESETCONTENT、 CB_DELETESTRING、CB_RESETCONTENT 消息被删除时,发送此消息给控件的所有者 WM_VKEYTOITEM 0x002E 一个具有LBS_WANTKEYBOARDINPUT风格的ListBox控件发送此消息给它的所有者,以此来响应WM_KEYDOWN消息 WM_CHARTOITEM 0x002F 一个具有LBS_WANTKEYBOARDINPUT风格的ListBox控件发送此消息给它的所有者,以此来响应WM_CHAR消息 WM_SETFONT 0x0030 应用程序绘制控件时,发送此消息得到以何种字体绘制控件中的文本 WM_GETFONT 0x0031 应用程序发送此消息得到当前控件绘制文本的字体 WM_SETHOTKEY 0x0032 应用程序发送此消息让一个窗口与一个热键相关联 WM_GETHOTKEY 0x0033 应用程序发送此消息来判断热键与某个窗口是否有关联 WM_QUERYDRAGICON 0x0037 此消息发送给最小化窗口,当此窗口将要被拖放而它的类中没有定义图标,应用程序就返回一个图标或光标的句柄,当用户拖放图标时系统显示这个图标或光标 WM_COMPAREITEM 0x0039 发送此消息来判定ComboBox或ListBox新增加的项的相对位置 WM_COMPACTING 0x0041 显示内存已经很少了 WM_WINDOWPOSCHANGING 0x0046 当调用SetWindowPos()函数改变窗口的大小和位置后,发送此消息给该窗口 WM_POWER 0x0048 当系统将进入挂起状态时发送此消息给所有进程 WM_COPYDATA 0x004A 当一个应用程序传递数据给另一个应用程序时发送此消息 WM_CANCELJOURNAL 0x004B 当某个用户取消程序日志激活状态,发送此消息给应用程序 WM_NOTIFY 0x004E 当某个控件的某个事件已经发生或这个控件需要得到一些信息时,发送此消息给它的父窗口 WM_INPUTLANGCHANGEREQUEST 0x0050 当用户选择某种输入语言,或输入语言的热键改变 WM_INPUTLANGCHANGE 0x0051 当应用程序输入语言改变后发送此消息给受影响的最顶级窗口 WM_TCARD 0x0052 当应用程序已经初始化Windows帮助例程时发送此消息给应用程序 WM_HELP 0x0053 当用户按下了F1,如果某个菜单是激活的,就发送此消息给此窗口关联的菜单,否则就发送给有焦点的窗口,如果当前都没有焦点,就把此消息发送给当前激活的窗口 WM_USERCHANGED 0x0054 当用户已经登录或退出后发送此消息给所有的窗口,当用户登录或退出时系统更新用户的具体设置信息,在用户更新设置时系统马上发送此消息 WM_NOTIFYFORMAT 0x0055 公用控件和它们的父窗口通过此消息来判断在WM_NOTIFY消息中是使用ANSI还是UNICODE形式的结构,使用此控件能使某个控件与它的父控件进行相互通信 WM_CONTEXTMENU 0x007B 当用户在某个窗口中点击右键,则发送此消息给该窗口 WM_STYLECHANGING 0x007C 当将要调用SetWindowLong()函数窗口的一个或多个风格时,发送此消息给该窗口 WM_STYLECHANGED 0x007D 当调用SetWindowLong()函数改变了窗口的一个或多个风格后,发送此消息给该窗口 WM_DISPLAYCHANGE 0x007E 当显示器的分辨率改变后发送此消息给所有的窗口 WM_GETICON 0x007F 发送此消息给某个窗口,返回与某个窗口有关联的大图标或小图标的句柄 WM_SETICON 0x0080 应用程序发送此消息让一个新的大图标或小图标与某个窗口关联 WM_NCCREATE 0x0081 当某个窗口第一次被创建时,此消息在WM_CREATE消息被发送前发送 WM_NCDESTROY 0x0082 此消息通知某个窗口,正在销毁非客户区 WM_NCCALCSIZE 0x0083 当计算某个窗口的客户区大小和位置时发送此消息 WM_NCHITTEST 0x0084 移动鼠标,按住或释放鼠标时产生此消息 WM_NCPAINT 0x0085 当某个窗口的框架必须被绘制时,应用程序发送此消息给该窗口 WM_NCACTIVATE 0x0086 通过改变某个窗口的非客户区来表示窗口是处于激活还是非激活状态时,此消息被发送给该窗口 WM_NCMOUSEMOVE 0x00A0 当光标在窗口的非客户区(窗口标题栏及边框)内移动时发送此消息给该窗口 WM_NCLBUTTONDOWN 0x00A1 当光标在窗口的非客户区并按下鼠标左键时发送此消息 WM_NCLBUTTONUP 0x00A2 当光标在窗口的非客户区并释放鼠标左键时发送此消息 WM_NCLBUTTONDBLCLK 0x00A3 当光标在窗口的非客户区并双击鼠标左键时发送此消息 WM_NCRBUTTONDOWN 0x00A4 当光标在窗口的非客户区并按下鼠标右键时发送此消息 WM_NCRBUTTONUP 0x00A5 当光标在窗口的非客户区并释放鼠标右键时发送此消息 WM_NCRBUTTONDBLCLK 0x00A6 当光标在窗口的非客户区并双击鼠标右键时发送此消息 WM_NCMBUTTONDOWN 0x00A7 当光标在窗口的非客户区并按下鼠标中键时发送此消息 WM_NCMBUTTONUP 0x00A8 当光标在窗口的非客户区并释放鼠标中键时发送此消息 WM_NCMBUTTONDBLCL 0x00A9 当光标在窗口的非客户区并双击鼠标中键时发送此消息 WM_KEYDOWN 0x0100 按下一个非系统键(按下键时未按下“ALT”键) WM_KEYUP 0x0101 释放一个非系统键 WM_CHAR 0x0102 按下某键,当TranslateMessage()转发WM_KEYDOWN后发送本消息 WM_DEADCHAR 0x0103 释放某键,当TranslateMessage()转发WM_KEYUP后发送本消息 WM_SYSKEYDOWN 0x0104 当按住ALT键同时按下其他键时发送此消息给拥有键盘焦点的窗口 WM_SYSKEYUP 0x0105 当释放一个键同时按住ALT键时发送此消息给拥有键盘焦点的窗口 WM_SYSCHAR 0x0106 当TranslateMessage()转发WM_SYSKEYDOWN后发送此消息给拥有键盘焦点的窗口 WM_SYSDEADCHAR 0x0107 当TranslateMessage()转发WM_SYSKEYUP后发送此消息给拥有键盘焦点的窗口 WM_INITDIALOG 0x0110 在被显示前发送此消息对话框,通常用此消息初始化控件和执行其他任务 WM_COMMAND 0x0111 选择窗口菜单项或某个控件发送一条消息给它的父窗口或按下一个快捷键时产生此消息 WM_SYSCOMMAND 0x0112 选择窗口菜单项或选择最大化或最小化时,发送此消息给该窗口 WM_TIMER 0x0113 发生了定时器事件 WM_HSCROLL 0x0114 当窗口水平滚动条产生一个滚动事件时发送此消息给该窗口和滚动条的所有者 WM_VSCROLL 0x0115 当窗口垂直滚动条产生一个滚动事件时发送此消息给该窗口和滚动条的所有者 WM_INITMENU 0x0116 当一个菜单将要被激活时发送此消息,它发生在按下菜单项或按下菜单快捷键时,它允许程序在显示前更改菜单 WM_INITMENUPOPUP 0x0117 当一个下拉菜单或子菜单将要被激活时发送此消息,它允许显示前在修改菜单而不必更改整个菜单 WM_MENUSELECT 0x011F 选择一条菜单项时发送此消息给菜单的所有者(一般是窗口) WM_MENUCHAR 0x0120 当菜单已被激活且用户按下了某个键(非快捷键),发送此消息给菜单的所有者 WM_ENTERIDLE 0x0121 当一个有模式对话框或菜单进入空闲状态时发送此消息给它的所有者,空闲状态指在处理完一条或几条先前的消息后,消息列队为空 WM_MENURBUTTONUP 0x0122 当光标位于菜单项上时,释放鼠标右键产生此消息 WM_MENUDRAG 0x0123 当拖动菜单项时,发送此消息给拖放菜单的所有者 WM_MENUGETOBJECT 0x0124 当光标移入菜单项或者从菜单项中心移到菜单项顶部或底部时,发送此消息给拖放菜单的所有者 WM_UNINITMENUPOPUP 0x0125 当下拉菜单或者子菜单被销毁时产生此消息 WM_MENUCOMMAND 0x0126 当用户选择菜单项时产生此消息 WM_CHANGEUISTATE 0x0127 应用程序发送此消息表明用户界面(UI)状态应当被改变 WM_UPDATEUISTATE 0x0128 应用程序发送此消息改变指定窗口及其子窗口的用户界面(UI)状态 WM_QUERYUISTATE 0x0129 应用程序发送此消息得到某个窗口的用户界面(UI)状态 WM_CTLCOLORMSGBOX 0x0132 绘制消息框前发送此消息给它的父窗口,通过响应这条消息,父窗口可以通过使用给定的相关显示设备的句柄来设置消息框的文本和背景颜色 WM_CTLCOLOREDIT 0x0133 绘制编辑型控件前发送此消息给它的父窗口,可用来设置编辑框的文本和背景颜色 WM_CTLCOLORLISTBOX 0x0134 绘制列表框控件前发送此消息给它的父窗口,可用来设置编辑框的文本和背景颜色 WM_CTLCOLORBTN 0x0135 绘制按钮控件前发送此消息给它的父窗口,可用来设置编辑框的文本和背景颜色 WM_CTLCOLORDLG 0x0136 绘制对话框前发送此消息给它的父窗口,可用来设置编辑框的文本和背景颜色 WM_CTLCOLORSCROLLBAR 0x0137 绘制滚动条控件前发送此消息给它的父窗口,可用来设置滚动条控件的文本和背景颜色 WM_CTLCOLORSTATIC 0x0138 绘制静态控件前发送此消息给它的父窗口,可用来设置静态控件的文本和背景颜色 WM_MOUSEMOVE 0x0200 鼠标移动 WM_LBUTTONDOWN 0x0201 按下鼠标左键 WM_LBUTTONUP 0x0202 释放鼠标左键 WM_LBUTTONDBLCLK 0x0203 双击鼠标左键 WM_RBUTTONDOWN 0x0204 按下鼠标右键 WM_RBUTTONUP 0x0205 释放鼠标右键 WM_RBUTTONDBLCLK 0x0206 双击鼠标右键 WM_MBUTTONDOWN 0x0207 按下鼠标中键 WM_MBUTTONUP 0x0208 释放鼠标中键 WM_MBUTTONDBLCLK 0x0209 双击鼠标中键 WM_MOUSEWHEEL 0x020A 当鼠标滚轮转动时发送此消息给当前获得焦点的窗口 WM_PARENTNOTIFY 0x0210 当MDI子窗口被创建或被销毁,或当光标位于子窗口上且用户按了一下鼠标键时,发送此消息给它的父窗口 WM_ENTERMENULOOP 0x0211 发送此消息通知应用程序的主窗口进程已经进入了菜单模式循环 WM_EXITMENULOOP 0x0212 发送此消息通知应用程序的主窗口进程已经退出了菜单模式循环 WM_SIZING 0x0214 调整窗口大小时发送此消息给窗口,通过此消息应用程序可以监视或修改窗口大小和位置 WM_CAPTURECHANGED 0x0215 当窗口设定为不捕获鼠标事件时,发送此消息给该窗口 WM_MOVING 0x0216 移动窗口时发送此消息给窗口,通过此消息应用程序可以监视或修改窗口大小和位置 WM_POWERBROADCAST 0x0218 发送此消息给应用程序通知它有关电源管理事件 WM_DEVICECHANGE 0x0219 当设备的硬件配置改变时发送此消息给应用程序或设备驱动程序 WM_MDICREATE 0x0220 应用程序发送此消息给多文档的客户窗口来创建一个MDI 子窗口 WM_MDIDESTROY 0x0221 应用程序发送此消息给多文档的客户窗口来关闭一个MDI 子窗口 WM_MDIACTIVATE 0x0222 应用程序发送此消息给多文档的客户窗口通知客户窗口激活另一个MDI子窗口,当客户窗口收到此消息后,它发出WM_MDIACTIVE消息给MDI子窗口(未激活)来激活它 WM_MDIRESTORE 0x0223 应用程序发送此消息给MDI客户窗口通知子窗口恢复到原来大小 WM_MDINEXT 0x0224 应用程序发送此消息给MDI客户窗口激活下一个或前一个窗口 WM_MDIMAXIMIZE 0x0225 应用程序发送此消息给MDI客户窗口以最大化一个MDI子窗口 WM_MDITILE 0x0226 应用程序发送此消息给MDI客户窗口以平铺方式重新排列所有MDI子窗口 WM_MDICASCADE 0x0227 应用程序发送此消息给MDI客户窗口以层叠方式重新排列所有MDI子窗口 WM_MDIICONARRANGE 0x0228 应用程序发送此消息给MDI客户窗口重新排列所有最小化的MDI子窗口 WM_MDIGETACTIVE 0x0229 应用程序发送此消息给MDI客户窗口以找到激活的子窗口的句柄 WM_MDISETMENU 0x0230 应用程序发送此消息给MDI客户窗口用MDI菜单代替子窗口的菜单 WM_ENTERSIZEMOVE 0x0231 当窗口进入移动或改变大小模式循环时,发送此消息给该窗口 WM_EXITSIZEMOVE 0x0232 当窗口退出移动或改变大小模式循环时,发送此消息给该窗口 WM_DROPFILES 0x0233 当用户在应用程序窗口中拖动某个文件时,产生此消息 WM_MDIREFRESHMENU 0x0234 应用程序发送此消息给MDI客户窗口以刷新窗口菜单 WM_MOUSEHOVER 0x02A1 当光标在窗口客户区悬停超过TrackMouseEvent()指定的时间时,发送此消息给该窗口 WM_MOUSELEAVE 0x02A3 当光标离开窗口客户区超过TrackMouseEvent()指定的时间时,发送此消息给该窗口 WM_CUT 0x0300 应用程序发送此消息给一个编辑框或ComboBox以删除当前选择的文本 WM_COPY 0x0301 应用程序发送此消息给一个编辑框或ComboBox以复制当前选择的文本到剪贴板 WM_PASTE 0x0302 应用程序发送此消息给一个编辑框或ComboBox以从剪贴板中得到数据 WM_CLEAR 0x0303 应用程序发送此消息给一个编辑框或ComboBox以清除当前选择的内容 WM_UNDO 0x0304 应用程序发送此消息给一个编辑框或ComboBox以撤消最后一次操作 WM_DESTROYCLIPBOARD 0x0307 当调用EmptyClipboard()清空剪贴板时,发送此消息给剪贴板所有者 WM_DRAWCLIPBOARD 0x0308 当剪贴板的内容变化时发送此消息给剪贴板观察链中的第一个窗口,它允许用剪贴板观察窗口来显示剪贴板的新内容 WM_PAINTCLIPBOARD 0x0309 当剪贴板包含CF_OWNERDIPLAY格式的数据且剪贴板观察窗口的客户区需要重绘时,发送此消息给剪贴板所有者 WM_VSCROLLCLIPBOARD 0x030A 当剪贴板包含CF_OWNERDIPLAY格式的数据且剪贴板观察窗口发生垂直滚动条事件时,剪贴板观察窗口发送此消息给剪贴板所有者 WM_SIZECLIPBOARD 0x030B 当剪贴板包含CF_OWNERDIPLAY格式的数据且剪贴板观察窗口的客户区域的大小已经改变时,剪贴板观察窗口发送此消息给剪贴板的所有者 WM_ASKCBFORMATNAME 0x030C 剪贴板观察窗口发送此消息给剪贴板所有者以获得CF_OWNERDISPLAY剪贴板格式的名字 WM_CHANGECBCHAIN 0x030D 当一个窗口从剪贴板观察链中移去时发送此消息给剪贴板观察链中的第一个窗口 WM_HSCROLLCLIPBOARD 0x030E 当剪贴板包含CF_OWNERDIPLAY格式的数据且剪贴板观察窗口发生水平滚动条事件时,剪贴板观察窗口发送此消息给剪贴板所有者 WM_QUERYNEWPALETTE 0x030F 发送此消息给将要获得键盘焦点的窗口,此消息使窗口在获得焦点时同时有机会实现它的逻辑调色板 WM_PALETTEISCHANGING 0x0310 应用程序将要实现它的逻辑调色板时发送此消息通知所有应用程序 WM_PALETTECHANGED 0x0311 获得焦点的窗口实现它的逻辑调色板后发送此消息给所有顶级并重叠的窗口,以此来改变系统调色板 WM_HOTKEY 0x0312 当用户按下由RegisterHotKey()注册的热键时产生此消息 WM_PRINT 0x0317 应用程序发送此消息给窗口,要求窗口在指定设备环境中绘制自己,一般情况下是打印机设备环境 WM_PRINTCLIENT 0x0318 应用程序发送此消息给窗口,要求窗口在指定设备环境中绘制窗口客户区,一般情况下是打印机设备环境 WM_APP 0x8000 帮助用户自定义消息,自定义消息可以为WM_APP+X,X为正整数 WM_USER 0x0400 帮助用户自定义消息,自定义消息可以为WM_USER+X,X为正整数 通知消息:
按扭控件:名称 含义 BN_CLICKED 用户单击了按钮 BN_DISABLE 按钮被禁止 BN_DOUBLECLICKED 用户双击了按钮 BN_HILITE 用户加亮了按钮 BN_PAINT 按钮应当重画 BN_UNHILITE 加亮应当去掉 组合框控件:
名称 含义 CBN_CLOSEUP 组合框的列表框被关闭 CBN_DBLCLK 用户双击了一个字符串 CBN_DROPDOWN 组合框的列表框被拉出 CBN_EDITCHANGE 用户修改了编辑框中的文本 CBN_EDITUPDATE 编辑框内的文本即将更新 CBN_ERRSPACE 组合框内存不足 CBN_KILLFOCUS 组合框失去输入焦点 CBN_SELCHANGE 在组合框中选择了一项 CBN_SELENDCANCEL 用户的选择应当被取消 CBN_SELENDOK 用户的选择是合法的 CBN_SETFOCUS 组合框获得输入焦点 编辑框控件:
名称 含义 EN_CHANGE 编辑框中的文本己更新 EN_ERRSPACE 编辑框内存不足 EN_HSCROLL 用户点击了水平滚动条 EN_KILLFOCUS 编辑框正在失去输入焦点 EN_MAXTEXT 插入的内容被截断 EN_SETFOCUS 编辑框获得输入焦点 EN_UPDATE 编辑框中的文本将要更新 EN_VSCROLL 用户点击了垂直滚动条消息含义 列表框控件:
名称 含义 LBN_DBLCLK 用户双击了一项 LBN_ERRSPACE 列表框内存不够 LBN_KILLFOCUS 列表框正在失去输入焦点 LBN_SELCANCEL 选择被取消 LBN_SELCHANGE 选择了另一项 LBN_SETFOCUS 列表框获得输入焦点
作者说:
什么东西能使人成为强者?那就是时间!
参考1:Windows 常用消息大全
参考2:深入理解windows 消息机制 -
Windows10下电脑版微信未读消息自动弹窗工具
2021-05-31 12:19:00功能: 监听获取电脑版微信消息,新消息十秒未查看自动弹窗 使用方法: 文本编辑器ansi编码文件类型bat保存双击执行一、功能:
监听获取电脑版微信消息,新消息十秒未查看自动弹窗
二、使用方法:
文本编辑器ansi编码文件类型bat保存双击执行
三、声明:
禁止加入恶意代码,否则后果自负,有问题发私信
四、代码:
@echo off setlocal enabledelayedexpansion echo 电脑版微信新信息提示工具 echo. echo 作者:phenix echo. echo 邮箱:279682817@qq.com echo. for /f "tokens=* delims=" %%m in ('dir /b %temp%^|find "msg_"') do ( del /q %temp%\%%m>nul ) :main echo msgbox "您有新的未查看的微信消息!">%temp%\msg.vbs echo wscript.echo "暂无新的未查看的微信消息!">%temp%\nomsg.vbs echo wscript.sleep 1000*10>%temp%\sleep.vbs set wechat_root=%USERPROFILE%\Documents\WeChat Files\ set msg_flag=0 set idx=1 for /f "tokens=* delims=" %%a in ('dir /b "!wechat_root!"^|find "wxid_"') do ( set wechat_dir=%%a set wechat_file=Msg\Multi\MSG0.db-wal set wechat_fullpath=!wechat_root!\!wechat_dir!\!wechat_file! if exist "!wechat_fullpath!" ( set msg_startlen= set msg_endlen= if exist %temp%\msg_len_!idx!.txt ( set /p msg_startlen=<%temp%\msg_len_!idx!.txt for /f "tokens=* delims=" %%1 in ('"powershell -command (ls ^'!wechat_fullpath!^').LastAccessTimeUtc"') do ( set msg_endlen=%%1 echo !msg_endlen!>%temp%\msg_len_!idx!.txt rem echo !msg_startlen! rem echo !msg_endlen! ) ) else ( for /f "tokens=* delims=" %%1 in ('"powershell -command (ls ^'!wechat_fullpath!^').LastAccessTimeUtc"') do ( echo %%1>%temp%\msg_len_!idx!.txt ) ) if "!msg_startlen!" neq "!msg_endlen!" ( start /wait /b cscript /nologo %temp%\sleep.vbs set startdate= set enddate= if exist %temp%\msg_date_!idx!.txt ( for /f "tokens=* delims=" %%1 in (%temp%\msg_date_!idx!.txt) do ( set startdate=%%1 ) for /f "tokens=* delims=" %%1 in ('"powershell -command (ls ^'%PUBLIC%\Desktop\微信.lnk^').LastAccessTimeUtc"') do ( set enddate=%%1 echo !enddate!>%temp%\msg_date_!idx!.txt ) rem echo !startdate! rem echo !enddate! ) else ( for /f "tokens=* delims=" %%1 in ('"powershell -command (ls ^'%PUBLIC%\Desktop\微信.lnk^').LastAccessTimeUtc"') do ( echo %%1>%temp%\msg_date_!idx!.txt ) ) if "!startdate!" equ "!enddate!" ( start %PUBLIC%\Desktop\微信.lnk for /f "tokens=* delims=" %%1 in ('"powershell -command (ls ^'%PUBLIC%\Desktop\微信.lnk^').LastAccessTimeUtc"') do ( echo %%1>%temp%\msg_date_!idx!.txt ) set msg_flag=1 ) ) else ( for /f "tokens=* delims=" %%1 in ('"powershell -command (ls ^'%PUBLIC%\Desktop\微信.lnk^').LastAccessTimeUtc"') do ( echo %%1>%temp%\msg_date_!idx!.txt ) ) ) set /a idx+=1 ) if !msg_flag! equ 0 ( cscript /nologo %temp%\nomsg.vbs ) start /wait /b cscript /nologo %temp%\sleep.vbs goto :main
-
如何下载和使用Windows 10 Media Creation Tool创建Windows 10 USB或DVD?
2020-10-05 19:09:47Windows Operating systems generally installed from a CD or DVD. On the other side Linux operating systems like Ubuntu, Debian, Mint, Fedora, etc can be installed from USB easily. Recently Windows also...Windows Operating systems generally installed from a CD or DVD. On the other side Linux operating systems like Ubuntu, Debian, Mint, Fedora, etc can be installed from USB easily. Recently Windows also started to support installation from the USB drive. Windows 10 Media Creation is a tool provided by Microsoft where it creates USB or DVD Windows 10 installation media easily.
Windows操作系统通常从CD或DVD安装。 另一方面,可以通过USB轻松安装Linux操作系统,如Ubuntu,Debian,Mint,Fedora等。 最近,Windows还开始支持从USB驱动器进行安装。 Windows 10 Media Creation是Microsoft提供的工具,可在其中轻松创建USB或DVD Windows 10安装媒体。
Windows 10媒体创建工具要求 (Windows 10 Media Creation Tool Requirements)
In order to create a Windows 10 Installation Media via Windows 10 Media Creation Tool there are some requirements and musts to obey. Below are what we will need;
为了通过Windows 10 Media Creation Tool创建Windows 10安装介质,必须满足一些要求和必须遵守的要求。 以下是我们所需要的;
- A PC with a reliable, unrestricted and fast internet connection is required because the Windows ISO file will be downloaded from internet which is about 4-5 GB. 需要一台具有可靠,不受限制且快速的Internet连接的PC,因为将从Internet下载大约4-5 GB的Windows ISO文件。
- A USB flash drive where we will store the Windows 10 installation files. 我们将在其中存储Windows 10安装文件的USB闪存驱动器。
- A product key for Windows 10 license but it is not a must which can be provided later after installation. Windows 10许可证的产品密钥,但不是必需的,可以在安装后稍后提供。
- Your target system where Windows 10 will be installed should met the Windows 10 requirements too. 您将安装Windows 10的目标系统也应符合Windows 10要求。
下载Windows 10媒体创建工具 (Download Windows 10 Media Creation Tool)
Windows 10 Media Creation Tool can be download from the official Microsoft site from the following page. We will just click to the
Download
button which will download the tool.Windows 10 Media Creation Tool可以从下页的Microsoft官方网站下载。 我们只需单击“
Download
按钮即可下载该工具。https://www.microsoft.com/en-gb/software-download/windows10
https://www.microsoft.com/zh-CN/software-download/windows10
Download Windows 10 Media Creation Tool 下载Windows 10媒体创建工具 Or simply we can use the following link in order to download the
MediaCreationTool.exe
. But keep in mind that this is the direct link for a specific version of the Media Creation Tool and can be outdated in the future. In order to download the most recent and up to date version please use the previous link specified above.或者只是我们可以使用下面的链接来下载
MediaCreationTool.exe
。 但是请记住,这是特定版本的媒体创建工具的直接链接,将来可能会过时。 为了下载最新版本,请使用上面指定的上一个链接。了解更多如何使用services.msc管理Windows服务https://software-download.microsoft.com/download/pr/MediaCreationTool1903.exe
https://software-download.microsoft.com/download/pr/MediaCreationTool1903.exe
启动Windows 10媒体创建工具 (Start Windows 10 Media Creation Tool)
When we start the Windows 10 Media Creation Tool we need some privileges in order to make changes in the existing operating system. So we will be asked for Administrator settings by User Account Control like below.
启动Windows 10 Media Creation Tool时,我们需要一些特权才能在现有操作系统中进行更改。 因此,如下所示,用户帐户控制将要求我们提供管理员设置。
Start Windows 10 Media Creation Tool 启动Windows 10媒体创建工具 Now the Windows 10 Setup screen will appear which provide a message like
Getting a few things ready
. This will gather some information about the system and from the internet about the latest Windows 10. This can take some time which is related to the speed of the internet.现在,将出现Windows 10安装程序屏幕,其中提供了诸如“
Getting a few things ready
类的消息。 这将收集有关系统的信息以及有关最新Windows 10的互联网信息。这可能需要一些时间,这与互联网的速度有关。Windows 10 Setup Getting Started Windows 10安装入门 As always we have to
Accept
theEULA - End User License Agreement
provided by Microsoft.与往常一样,我们必须
Accept
Microsoft提供的EULA - End User License Agreement
。Accept EULA 接受EULA In this step, we will select option
Create installation media
. We can upgrade the current operating system like Windows 7, Windows 8 into Windows 10. Or We can create installation media (USB flash drive, SVS, or ISO file) for another PC.在此步骤中,我们将选择选项
Create installation media
。 我们可以将当前的操作系统(例如Windows 7,Windows 8)升级到Windows10。或者我们可以为另一台PC创建安装媒体(USB闪存驱动器,SVS或ISO文件)。Windows 10 Media Creation Selections Windows 10媒体创建选择 In this part, we will see that there are some options for media creation. We can select 3 different options like below.
在这一部分中,我们将看到用于媒体创建的一些选项。 我们可以选择以下3种不同的选项。
Language
will provide us a lot of different languages like English, Turkish, Spanish, etc.Language
将为我们提供许多不同的语言,例如英语,土耳其语,西班牙语等。Edition
is the version of the Windows 10 like Home, Pro, etc. More details are provided below the screenshot.Edition
是Windows 10的版本,例如Home,Pro等。屏幕截图下方提供了更多详细信息。Architecture
is the installation CPU architecture like 32-bit or 64-bit. The best choice is 64-bit where 32-bit is abandoned in most of the cases.Architecture
是安装CPU架构,例如32位或64位。 最好的选择是64位,而在大多数情况下放弃32位。
Select Installation Media Options 选择安装媒体选项 Windows 10的提供的版本(Provided Versions Of Windows 10)
With the Media Creation Tool for Windows 10, the following Windows 10 versions are provided where they can be downloaded and installed automatically. By the way, both 32-bit and 64-bit versions are supported.
使用适用于Windows 10的媒体创建工具,提供了以下Windows 10版本,可以自动下载和安装它们。 顺便说一下,支持32位和64位版本。
Windows 10 Home
is designed for home and regular end-users.Windows 10 Home
是为家庭和普通最终用户设计的。Windows 10 Home N
is designed home users but adds some more features to the standard version.Windows 10 Home N
是专为家庭用户设计的,但在标准版本中添加了更多功能。Windows 10 Home Single Language
supports only a single language for Windows 10.Windows 10 Home Single Language
仅适用于Windows 10单一语言。Windows 10 Pro
is a professional version of the Windows mainly advanced home or basic enterprise users.Windows 10 Pro
是Windows 10 Pro
的专业版本,主要用于高级家庭或基本企业用户。Windows Pro N
is a bit advanced version of the Pro.Windows Pro N
是Windows Pro N
高级版本。
了解更多什么是BIOS(基本输入/输出系统)以及如何访问和使用?In this part, we will select the media we want to use. We have the following options.
在这一部分中,我们将选择我们要使用的媒体。 我们有以下选择。
USB flash drive
will install the Windows10 into a USB flash drive we have attached. The USB flash drive must be at least 8 GB.USB flash drive
会将Windows10安装到我们附带的USB闪存盘中。 USB闪存驱动器必须至少为8 GB。ISO file
will download the ISO file of the Windows 10. We can burn or write into USB flash, DVD later.ISO file
将下载Windows 10的ISO文件。稍后,我们可以刻录或写入USB闪存,DVD。
Choose Media 选择媒体 In this step, we will select the USB flash drive we want to write Windows 10 installation files. Then click new which will write into USB flash drive. Below we can see that there is only single drive
C:\
where the Windows installation files will be put.在此步骤中,我们将选择要写入Windows 10安装文件的USB闪存驱动器。 然后单击新建,它将写入USB闪存驱动器。 下面我们可以看到只有一个驱动器
C:\
将放置Windows安装文件。Select USB Flash 选择USB闪存 After the Windows 10 USB Installation is completed the following files will exist in the USB Flash drive. We can see that there are the following files and folders.
Windows 10 USB安装完成后,USB闪存驱动器中将存在以下文件。 我们可以看到有以下文件和文件夹。
boot
contains boot related files and configurations.boot
包含与引导相关的文件和配置。efi
contains EFI boot files and certificates.efi
包含EFI引导文件和证书。
Windows 10 Installation USB Drive Windows 10安装USB驱动器 -
今天给你说win10 消息队列服务怎么开启的解决介绍
2021-08-02 07:35:54win10 消息队列服务怎么开启的情况我认为很多网友都遇到过,甚至有些时候会经常碰到,这个win10 消息队列服务怎么开启的问题平时不多见,也许还会难倒一些大神,如果你咨询很多人都不知道win10 消息队列服务怎么开启... -
使用Python在Windows 10上显示通知信息
2022-02-07 19:40:49https://github.com/jithurjacob/Windows-10-Toast-Notifications 安装**win10toast** pip install win10toast 使用示例 from win10toast import ToastNotifier toast = ToastNotifier() toast.show_toast(title=... -
Windows 窗口发送消息参数详解
2020-06-24 15:32:25窗口发送消息参数详解 // 窗口.发送消息 函数功能: 将指定的消息发送到一个窗口,同win32 api 里面的SendMessage等同的效果 中文函数原型: 发送消息(hwnd,msg,wparam,iparam) 英文函数原型: sendmessage(hwnd,... -
windows 10 应用商店自带qq 消息推送打开方法
2016-10-08 10:23:04win键+u 打开控制面板 点击进入主页 3.点击系统后选择左侧的通知和操作 4.从右侧找到qq应用,点击并选择高级选项 5.点击重置即可 -
windows消息传递机制详解
2018-01-31 18:06:11Windows的消息提供了应用程序之间、应用程序与Windows系统之间进行通信的手段。应用程序想要实现的功能由消息来触发,并且靠对消息的响应和处理来完成。必须注意的是,消息并非是抢占性的,无论事件的缓急,总是按照... -
电脑系统windows 7和windows 10有什么区别?哪个更好?
2021-05-24 04:08:29您好,Windows7和Windows10的区别还是蛮大的,我们来开始慢慢讲解两者的具体区别有哪些。外观方面外观上,Windows7采用的3D立体图标和Aero透明效果,同时加入了很多窗口间的过渡动画和特效,很多人也正是由于沉迷... -
windows10 记事本进程 键盘消息钩子 dll注入
2018-03-10 20:21:3110、 点击最上方的生成->生成解决方案,成功的话,找到DLL->x64->Debug这个文件夹,看下有没有DLL.dll这个文件,注意:不是DLL->DLL->x64->Debug这个文件夹,不要问我为什么会知道。 至此第一部分就算完成了,... -
我把电脑系统升级成Windows11,体验了一下还是换回Windows10
2021-12-15 18:07:39上周末把电脑系统升级成了win11,有吐槽也有爽点,但我还是换回了win10,今天就当做是win11系统的测评文章吧,有优点也有缺点,至于升不升级用不用完全看个人的需求。 领取福利 300+Python经典编程案例 50G+学习... -
Golang 实现调用 Windows 10 通知
2019-05-25 12:42:27Golang 实现调用 Windows 10 通知 使用到的库:https://github.com/go-toast/toast toast 库实现原理很简单,用 Go 的 exec.Command 调用临时生成的包含通知代码的 Powershell 脚本 示例代码: package main import... -
锁定Windows 10 PC的10种方法
2021-06-19 07:21:25离开时,锁定Windows 10 PC是保护计算机安全的最佳方法。这不会退出或中断任何正在运行的应用程序,您必须输入PIN或密码才能通过锁定屏幕。您可以通过以下10种方式锁定计算机。在“开始”菜单中锁定计算机毫不奇怪,... -
快了!基于ARM架构的Windows10又要来了!
2020-12-23 22:17:12其实也不是什么挺新鲜的事情,早在之前Nokia时代,Windows Phone还掀起过一波小高潮,不过随着安卓系统的强势崛起,微软还是继续跟英特尔(wintel)继续过安稳日子去了,至于2017年推出的Windows10 RT版本,可用性... -
windows 10系统运行shell脚本
2021-09-18 14:03:40(11条消息) Windows10下安装Git_勿忘初心的博客-CSDN博客_windows安装git 安装好git后,可按照如下步骤执行shell脚本. 1.进入sh脚本所在得文件夹 2.右键点击空白处,选择 Git Bash Here 3.即可执行脚本命令 ... -
通过Windows仿真器在PC上安装Windows10X
2020-02-15 09:36:04微软已经为开发者提供了Windows 10X的预览版本,以便其开始在即将推出的双屏Windows设备(例如Surface Neo)上测试和开发程序。 Windows 10X只能Windows内测用户下载,只作为Microsoft模拟器的附加程序包。它不能... -
更改硬件后如何重新激活Windows 10
2020-09-23 05:12:17Did your PC suffer a catastrophic failure requiring new ... Have you upgraded to better components and Windows 10 just doesn’t recognize your PC? This guide shows you how to reactivate Windows 1... -
windows10 arm版下载-windows10arm镜像64位中文版 - 极光下载站
2020-12-04 02:00:58windows10arm手机版是微软与高通合作后推出的arm芯片的专属微软系统,该系统可以运行exe文件,类似于桌面端,arm作为未来系统发展方向,为用户提供了移动手机办公的可能性。windows10arm镜像介绍Windows 10 on ARM... -
Windows搭建青龙面板最新教程
2022-04-27 11:53:05然后继续下载安装https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 接着我们去D盘新建Docker文件夹,然后在Docker文件夹内创建"ql"文件夹,进入“ql”文件夹后创建“config”,“log”,... -
Windows 10 版本 21H1 发布,百度网盘下载
2021-05-20 14:35:06请访问原文链接:https://sysin.org/article/windows-10/,查看最新版。原创作品,转载请保留出处。 Windows 10, version 21H1, all editions 发布日期: 2021/5/18 版本: Windows 10,版本 21H1 21H1 Windows 10 21... -
Windows10 msg命令
2021-02-26 16:55:43msg:将消息发送给用户。 MSG {username | sessionname | sessionid | @filename | *} [/SERVER:servername] [/TIME:seconds] [/V] [/W] [message] 名称 描述 username 标识指定的用户名。 sessionname ... -
Windows 10 下 C 盘清理的四个最好办法 | 安全简单,无需插件 | C 盘快满了,如何清理 C 盘? | win 10 OS...
2020-04-02 13:07:24遇到这种操作,建议跳过:有一步疏漏,或遇到 Windows 10 系统升级 / 改版,其带来的后果将难以恢复(因为过于深入操作系统)。 推荐的方法一:磁盘清理(最简单) 右键 C 盘 - 属性 - 常规 - 磁盘清理 在确认你的... -
【windows】win10如何安装使用bitlocker
2021-09-10 10:34:00服务器端需要安装加密磁盘,Linux的可以使用cryptsetup,win的话可以...但是服务器中并没有该选项,在Windows搜索bitlocker也没有相关选项。如果遇到这个问题,可以使用下面的方法开启bitlocker。 1. 查看bitlocker功 -
10行代码带你入门Windows编程
2022-04-22 12:21:08手把手带你入门Windows -
详细教你windows10的配置要求
2021-07-13 02:07:11随着科技与生活水平的提高电脑的硬件配置也是多年前不可比拟的,现在大部分的电脑...Windows10从刚发布时的很多人不想升级win10系统到现在大部分的人都想升级到win10系统离不开它的更新完善与各种特点的吸引,Windo... -
如何离开Windows 10的S模式
2020-09-15 01:50:23Some PCs, including Microsoft’s Surface Laptop and the Windows on ARM PCs, run “Windows 10 in S Mode.” In S Mode, Windows can only run apps from the Store—but you can leave S Mode in a few clicks.... -
如何在Windows 10中打开设置?
2020-10-13 13:45:09Windows 10 provides the Windows Settings in order to configure different settings of the Windows 10. Windows Settings features are provided with Windows 10 and did not provide for Windows 7, Windows 8... -
如何在Windows 10上解决远程连接的密码问题
2021-06-28 02:40:27在Windows 10上,如果您尝试使用远程桌面应用程序连接到计算机或访问共享的网络,并且收到错误的密码错误消息,或者根本无法连接,则可能是由于以下原因这个问题,但最像是一个帐户问题,而不是连接问题。... -
【原创】Windows 10 笔记本给另一台 Windows 10 电脑作扩展屏幕
2020-10-17 02:58:36我们在使用 Windows 电脑工作或者学习的时候,现在很多人手上可能都有一些半淘汰的笔记本电脑。可能是自己以前的主力电脑,但现在由于配置原因或者换了新机器而闲置了。 但是我们又不舍得卖掉或者让它吃灰,那这时候...