windows 消息代码
Windows 系统错误代码大全
0064 指定的网络名无法使用。
0065 拒绝访问网络。
0066 网络资源类型错误。
0067 找不到网络名。
0068 已超过本地计算机网络适配器卡的名称极限。
0069 已超过网络 BIOS 会话的极限。
0070 远程服务器已经暂停或者正在启动过程中。
1003 无法完成此项功能。
1004 标志无效。
1005 卷不包含已识别的文件系统。请确认所有需要的文件系统驱动程序都已经加载,而且卷没有任何损坏。
1006 某文件的卷已在外部改变,因而打开的文件不再有效。
1007 要求的操作无法以全屏幕模式执行。
1008 试图引用并不存在的符号。
0071 由于该计算机的连接数目已达到上限,此时无法再连接到该远程计算机。
0072 指定的打印机或磁盘设备已经暂停。
0080 该文件存在。
0082 无法创建该目录或文件。
0083 INT 24 失败。
0084 处理该请求的存储区不可用。
0085 正在使用该本地设备名。
0086 指定的网络密码不正确。
0087 参数错误。
0088 网络出现写入错误。
0089 此时系统无法启动其他进程。
0100 无法创建其他系统标志。
0101 属于其他进程的专用标志。
0102 标志已经设置,无法关闭。
0103 无法再次设置该标志。
0104 中断时无法请求专用标志。
0278 指定的扩展属性句柄无效。
0282 安装的文件系统不支持扩展属性。
0288 试图释放不属于调用者的多路同步信号。
0298 信号投递的次数太多。
易语言WIN消息使用
【易语言】WIN消息大全1、窗口最大化===发送信息(274,61488,0)‘如果还是启动窗口要加上窗口名称,如:窗口1.发送信息()2、改变输入法===发送信息(8,0,0)例如:编辑框.发送信息(258,#A健,5)在编辑框输入5个A3、移动控件控件.发送信息(274,61458,0)控件.发送信息(161,2,0)4、调整控件调整左边:控件.发送信息(274,61441,0)调整右边:控件.发送信息(274,61442,0)调整顶边:控件.发送信息(274,61443,0)左上角调整:控件.发送信息(274,61444,0)右上角调整:控件.发送信息(274,61445,0)调整底部控件.发送信息(274,61446,0)左下角调整:控件.发送信息(274,61447,0)右下角调整:控件.发送信息(274,61448,0)4、控件最大化控件.发送信息(274,61488,0)5、控件最小化控件.发送信息(274,61473,0)6、关闭控件控件.发送信息(16,0,0)7、单击鼠标左键控件.发送信息(513,0,0)8、鼠标带问号(再次单击问号消失)发送信息(274,61836,0)9、清除窗口标题控件.发送信息(12,0,0)10、复制编辑框.发送信息(769,0,0)11、粘贴编辑框.发送信息(770,0,0)12、全选编辑框.发送信息(177,0,-1)13、清空内容编辑框.发送信息(12,1,0)14、按钮单击发送消息(发送按钮句柄,245,0,0)15、删除控件.发送信息(768,0,0)16、撤销控件.发送信息(772,0,0)17、剪切控件.发送信息(771,0,0)18、退出控件.发送信息(1,0,0)19、获得焦点控件.发送信息(7,0,0)20、失去焦点控件.发送信息(8,0,0)21、结束控件.发送信息(25,0,0)22、单击鼠标右键控件.发送信息(123,0,0)23、取消全选控件.发送信息(177,0,0)24、1组合框弹出列表组合框.发送信息(155,1,0)25、发送文本(Dll命令。
windows消息大全
Windows消息大全什么是Windows消息?Windows消息是在Windows操作系统中用于应用程序之间进行通信的一种机制。
通过发送和接收消息,应用程序可以向其他应用程序发送命令、请求数据或通知一些事件的发生。
Windows操作系统提供了一系列的系统消息,同时也允许应用程序自定义和发送消息。
系统消息Windows操作系统中的系统消息由操作系统负责发送和处理,这些消息通常涉及到操作系统的各个方面。
下面是一些常见的系统消息:1.WM_CREATE:当窗口被创建时发送。
2.WM_DESTROY:当窗口被销毁时发送。
3.WM_PAINT:当窗口需要绘制时发送。
4.WM_CLOSE:当用户关闭窗口时发送。
5.WM_QUIT:当应用程序需要退出时发送。
6.WM_SIZE:当窗口大小改变时发送。
7.WM_MOUSEMOVE:当鼠标移动时发送。
8.WM_KEYDOWN:当按下键盘上的一个键时发送。
这只是一小部分系统消息的例子,Windows操作系统中还有很多其他的系统消息可供使用。
自定义消息除了系统消息,应用程序还可以自定义消息以实现应用程序之间的通信。
自定义消息通常基于用户定义的消息号。
下面是一些自定义消息的例子:1.WM_MY_MESSAGE1:用户自定义的消息1。
2.WM_MY_MESSAGE2:用户自定义的消息2。
3.WM_MY_MESSAGE3:用户自定义的消息3。
自定义消息的消息号必须在WM_USER之后,以避免与系统消息冲突。
消息参数除了发送消息本身外,应用程序还可以使用参数来传递额外的信息。
参数通常包含在消息的wParam和lParam字段中。
•wParam表示一个无符号的整数,用于传递一些简单的数值信息。
•lParam通常表示一个指针,指向一些复杂的数据结构。
应用程序可以根据消息的含义和需要来使用这些参数。
如何发送和接收消息在Windows操作系统中,应用程序可以使用函数来发送和接收消息。
vb api 处理windows 消息 范例
vb api处理windows消息范例详解
在VB(Visual Basic)中,处理Windows消息通常涉及到使用Windows API函数。
这些函数允许你的应用程序与操作系统进行交互,响应各种事件,如用户输入、系统事件等。
下面是一个简单的示例,演示了如何使用Windows API来处理Windows 消息。
首先,你需要导入Windows API函数。
你可以通过在你的代码文件的顶部添加以下语句来导入user32.dll中的PeekMessage函数:
然后,你可以使用以下代码来处理Windows消息:
在这个示例中,我们创建了一个Form1类,它重写了WndProc方法以处理Windows 消息。
我们使用PeekMessage函数来检查消息队列中是否有消息。
如果有消息,我们将其从队列中取出并处理它。
我们通过TranslateMessage方法来翻译消息(例如,将键盘按键转换为字符),并通过DispatchMessage方法来分派消息(例如,如果消息是退出消息,我们关闭窗口)。
请注意,这只是一个简单的示例。
在实际的应用程序中,你可能需要处理更多的Windows消息类型,并执行更复杂的逻辑来响应用户输入和系统事件。
Windows消息大全
Windows消息大全消息映射宏的种类:为了简化程序员的工作,MFC定义了一系列的消息映射宏和像AfxSig_vv这样的枚举变量,以及标准消息处理函数,并且具体地实现这些函数。
这里主要讨论消息映射宏,常用的分为以下几类。
1. 用于Windows消息的宏,前缀为“ON_WM_”。
这样的宏不带参数,因为它对应的消息和消息处理函数的函数原型是确定的。
MFC提供了这类消息处理函数的定义和缺省实现。
每个这样的宏处理不同的Windows消息。
例如:宏ON_WM_CREATE()把消息WM_CREATE映射到OnCreate函数,消息映射条目的第一个成员nMessage指定为要处理的Windows消息的ID,第二个成员nCode 指定为0。
2. 用于命令消息的宏ON_COMMAND这类宏带有参数,需要通过参数指定命令ID和消息处理函数。
这些消息都映射到WM_COMMAND上,也就是将消息映射条目的第一个成员nMessage指定为WM_COMMAND,第二个成员nCode指定为CN_COMMAND(即0)。
消息处理函数的原型是void (void),不带参数,不返回值。
除了单条命令消息的映射,还有把一定范围的命令消息映射到一个消息处理函数的映射宏ON_COMMAND_RANGE。
这类宏带有参数,需要指定命令ID的范围和消息处理函数。
这些消息都映射到WM_COMMAND上,也就是将消息映射条目的第一个成员nMessage指定为WM_COMMAND,第二个成员nCode指定为CN_COMMAND(即0),第三个成员nID和第四个成员nLastID指定了映射消息的起止范围。
消息处理函数的原型是void (UINT),有一个UINT类型的参数,表示要处理的命令消息ID,不返回值。
3. 用于控制通知消息的宏这类宏可能带有三个参数,如ON_CONTROL,就需要指定控制窗口ID,通知码和消息处理函数;也可能带有两个参数,如具体处理特定通知消息的宏ON_BN_CLICKED、ON_LBN_DBLCLK、ON_CBN_EDITCHANGE等,需要指定控制窗口ID和消息处理函数。
Windows错误代码大全
Windows错误代码大全3001 0x0BB9 指定的打印机驱动程序当前正在使用。
3002 0x0BBA 找不到缓冲文件。
3003 0x0BBB 未发送StartDocPrinter 调用。
3004 0x0BBC 未发送AddJob 调用。
3005 0x0BBD 指定的打印处理器已经安装。
3006 0x0BBE 指定的打印监视器已经安装。
3007 0x0BBF 该指定的打印监视器不具备所要求的功能。
3008 0x0BC0 该指定的打印监视器正在使用中。
3009 0x0BC1 当打印机有作业排队时此操作请求是不允许的。
3010 0x0BC2 请求的操作成功。
直到重新启动系统前更改将不会生效。
3011 0x0BC3 请求的操作成功。
直到重新启动服务前更改将不会生效。
3012 0x0BC4 找不到打印机。
3013 0x0BC5 已知打印机驱动程序不可靠。
3014 0x0BC6 已知打印机驱动程序会伤害系统。
3020 0x0BCC 在%1 上检测到电源中断。
服务器已经暂停。
3021 0x0BCD 在%1 的时候恢复供电。
服务器恢复操作。
3022 0x0BCE 因为电池快没电,所以UPS 服务会在%1 关机。
3023 0x0BCF 用户指定的关机命令文件的配置有问题。
不过UPS 服务已经启动。
3025 0x0BD1 已经替换驱动器%1 上损坏的扇区(即时修复)。
没有丢失数据。
您应该尽早运行CHKDSK,以便完全还原性能,并补充卷的备用扇区池。
即时修复是在处理远程请求时进行的。
3026 0x0BD2 驱动器%1 的HPFS 卷上发生磁盘错误。
错误是在处理远程请求时发生的。
3027 0x0BD3 用户帐户数据库(NET.ACC) 已损坏。
本地安全系统正在用在%2 的%1 上备份来替换损坏的NET.ACC。
此刻之后对数据库的任何更改会全部丢失。
3028 0x0BD4 找不到用户帐户数据库(NET.ACC)。
本地安全系统正在还原%2 的%1 上创建的备用数据库。
Windows窗口消息大全
Window s窗口消息大全#消息,就是指Win dows发出的一个通知,告诉应用程序某个事情发生了。
例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Wind ows发送一个消息给应用程序。
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。
例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。
这个记录类型叫做TMs g,#它在Wind ows单元中是这样声明的:#type#TMsg = packed record#hwnd: HWND; / /窗口句柄#messag e: UINT; / /消息常量标识符#wParam: WPARAM ; // 32位消息的特定附加信息#lParam: LPARAM ; // 32位消息的特定附加信息#time: DWORD; / /消息创建时的时间#pt: TPoint; / /消息创建时的鼠标位置#end;#消息中有什么?#是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:#hwnd 32位的窗口句柄。
窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。
#messag e 用于区别其他消息的常量值,这些常量可以是Wind ows单元中预定义的常量,也可以是自定义的常量。
#wParam通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。
#lParam通常是一个指向内存中数据的指针。
由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,#因此,它们之间可以相互转换。
WM_NUL L = 0x0000;WM_CRE ATE = 0x0001;#应用程序创建一个窗口WM_DES TROY= 0x0002;#一个窗口被销毁WM_MOV E = 0x0003;#移动一个窗口WM_SIZ E = 0x0005;#改变一个窗口的大小WM_ACT IVATE = 0x0006;#一个窗口被激活或失去激活状态;WM_SET FOCUS = 0x0007;#获得焦点后WM_KIL LFOCU S = 0x0008;#失去焦点WM_ENA BLE = 0x000A;#改变enab le状态WM_SET REDRA W = 0x000B;#设置窗口是否能重画WM_SET TEXT= 0x000C;#应用程序发送此消息来设置一个窗口的文本WM_GET TEXT= 0x000D;#应用程序发送此消息来复制对应窗口的文本到缓冲区WM_GET TEXTL ENGTH = 0x000E;#得到与一个窗口有关的文本的长度(不包含空字符)WM_PAI NT = 0x000F;#要求一个窗口重画自己WM_CLO SE = 0x0010;#当一个窗口或应用程序要关闭时发送一个信号WM_QUE RYEND SESSI ON = 0x0011;#当用户选择结束对话框或程序自己调用Exit Windo ws函数WM_QUI T = 0x0012;#用来结束程序运行或当程序调用po stqui tmess age函数WM_QUE RYOPE N = 0x0013;#当用户窗口恢复以前的大小位置时,把此消息发送给某个图标WM_ERA SEBKG ND = 0x0014;#当窗口背景必须被擦除时(例在窗口改变大小时)WM_SYS COLOR CHANG E = 0x0015;#当系统颜色改变时,发送此消息给所有顶级窗口WM_END SESSI ON = 0x0016;#当系统进程发出WM_Q UERYE NDSES SION消息后,此消息发送给应用程序,#通知它对话是否结束WM_SYS TEMER ROR = 0x0017;WM_SHO WWIND OW = 0x0018;#当隐藏或显示窗口是发送此消息给这个窗口WM_ACT IVATE APP = 0x001C;#发此消息给应用程序哪个窗口是激活的,哪个是非激活的;WM_FON TCHAN GE = 0x001D;#当系统的字体资源库变化时发送此消息给所有顶级窗口WM_TIM ECHAN GE = 0x001E;#当系统的时间变化时发送此消息给所有顶级窗口WM_CAN CELMO DE = 0x001F;#发送此消息来取消某种正在进行的摸态(操作)WM_SET CURSO R = 0x0020;#如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,就发消息给某个窗口WM_MOU SEACT IVATE = 0x0021;#当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息给当前窗口WM_CHI LDACT IVATE = 0x0022;#发送此消息给MDI子窗口当用户点击此窗口的标题栏,或当窗口被激活,移动,改变大小WM_QUE UESYN C = 0x0023;#此消息由基于计算机的训练程序发送,通过WH_J OURNA LPALY BACK的hook程序#分离出用户输入消息WM_GET MINMA XINFO = 0x0024;#此消息发送给窗口当它将要改变大小或位置;WM_PAI NTICO N = 0x0026;#发送给最小化窗口当它图标将要被重画WM_ICO NERAS EBKGN D = 0x0027;#此消息发送给某个最小化窗口,仅当它在画图标前它的背景必须被重画WM_NEX TDLGC TL = 0x0028;#发送此消息给一个对话框程序去更改焦点位置WM_SPO OLERS TATUS = 0x002A;#每当打印管理列队增加或减少一条作业时发出此消息WM_DRA WITEM = 0x002B;#当butto n,combob ox,listbo x,menu的可视外观改变时发送#此消息给这些空件的所有者WM_MEA SUREI TEM = 0x002C;#当butto n, combobox, list box, list view contro l, or menu item 被创建时#发送此消息给控件的所有者WM_DEL ETEIT EM = 0x002D;#当the list box 或combobox 被销毁或当某些项被删除通过LB_DELET ESTRI NG, LB_RES ETCON TENT, CB_DEL ETEST RING, or CB_RES ETCON TENT消息WM_VKE YTOIT EM = 0x002E;#此消息有一个LBS_W ANTKE YBOAR DINPU T风格的发出给它的所有者来响应WM_KE YDOWN 消息WM_CHA RTOIT EM = 0x002F;#此消息由一个LBS_W ANTKE YBOAR DINPU T风格的列表框发送给他的所有者来响应WM_CHAR 消息WM_SET FONT= 0x0030;#当绘制文本时程序发送此消息得到控件要用的颜色WM_GET FONT= 0x0031;#应用程序发送此消息得到当前控件绘制文本的字体WM_SET HOTKE Y = 0x0032;#应用程序发送此消息让一个窗口与一个热键相关连WM_GET HOTKE Y = 0x0033;#应用程序发送此消息来判断热键与某个窗口是否有关联WM_QUE RYDRA GICON = 0x0037;#此消息发送给最小化窗口,当此窗口将要被拖放而它的类中没有定义图标,应用程序能返回一个图标或光标的句柄,当用户拖放图标时系统显示这个图标或光标WM_COM PAREI TEM = 0x0039;#发送此消息来判定com bobox或list box新增加的项的相对位置WM_GET OBJEC T = 0x003D;WM_COM PACTI NG = 0x0041;#显示内存已经很少了WM_WIN DOWPO SCHAN GING= 0x0046;#发送此消息给那个窗口的大小和位置将要被改变时,来调用set windo wpos函数或其它窗口管理函数WM_WIN DOWPO SCHAN GED = 0x0047;#发送此消息给那个窗口的大小和位置已经被改变时,来调用set windo wpos函数或其它窗口管理函数WM_POW ER = 0x0048;(适用于16位的wind ows)#当系统将要进入暂停状态时发送此消息WM_COP YDATA = 0x004A;#当一个应用程序传递数据给另一个应用程序时发送此消息WM_CAN CELJO URNAL = 0x004B;#当某个用户取消程序日志激活状态,提交此消息给程序WM_NOT IFY = 0x004E;#当某个控件的某个事件已经发生或这个控件需要得到一些信息时,发送此消息给它的父窗口WM_INP UTLAN GCHAN GEREQ UEST= 0x0050;#当用户选择某种输入语言,或输入语言的热键改变WM_INP UTLAN GCHAN GE = 0x0051;#当平台现场已经被改变后发送此消息给受影响的最顶级窗口WM_TCA RD = 0x0052;#当程序已经初始化win dows帮助例程时发送此消息给应用程序WM_HEL P = 0x0053;#此消息显示用户按下了F1,如果某个菜单是激活的,就发送此消息个此窗口关联的菜单,否则就#发送给有焦点的窗口,如果当前都没有焦点,就把此消息发送给当前激活的窗口WM_USE RCHAN GED = 0x0054;#当用户已经登入或退出后发送此消息给所有的窗口,当用户登入或退出时系统更新用户的具体#设置信息,在用户更新设置时系统马上发送此消息;WM_NOT IFYFO RMAT= 0x0055;#公用控件,自定义控件和他们的父窗口通过此消息来判断控件是使用A NSI还是UNICO DE结构#在WM_NO TIFY消息,使用此控件能使某个控件与它的父控件之间进行相互通信WM_CON TEXTM ENU = 0x007B;#当用户某个窗口中点击了一下右键就发送此消息给这个窗口WM_STY LECHA NGING = 0x007C;#当调用SET WINDO WLONG函数将要改变一个或多个窗口的风格时发送此消息给那个窗口WM_STY LECHA NGED= 0x007D;#当调用SET WINDO WLONG函数一个或多个窗口的风格后发送此消息给那个窗口WM_DIS PLAYC HANGE = 0x007E;#当显示器的分辨率改变后发送此消息给所有的窗口WM_GET ICON= 0x007F;#此消息发送给某个窗口来返回与某个窗口有关连的大图标或小图标的句柄;WM_SET ICON= 0x0080;#程序发送此消息让一个新的大图标或小图标与某个窗口关联;WM_NCC REATE = 0x0081;#当某个窗口第一次被创建时,此消息在WM_CREA TE消息发送前发送;WM_NCD ESTRO Y = 0x0082;#此消息通知某个窗口,非客户区正在销毁WM_NCC ALCSI ZE = 0x0083;#当某个窗口的客户区域必须被核算时发送此消息WM_NCH ITTES T = 0x0084;//移动鼠标,按住或释放鼠标时发生WM_NCP AINT= 0x0085;#程序发送此消息给某个窗口当它(窗口)的框架必须被绘制时;WM_NCA CTIVA TE = 0x0086;#此消息发送给某个窗口仅当它的非客户区需要被改变来显示是激活还是非激活状态;WM_GET DLGCO DE = 0x0087;#发送此消息给某个与对话框程序关联的控件,widdow s控制方位键和TAB键使输入进入此控件#通过响应WM_GETD LGCOD E消息,应用程序可以把他当成一个特殊的输入控件并能处理它WM_NCM OUSEM OVE = 0x00A0;#当光标在一个窗口的非客户区内移动时发送此消息给这个窗口//非客户区为:窗体的标题栏及窗的边框体WM_NCL BUTTO NDOWN = 0x00A1;#当光标在一个窗口的非客户区同时按下鼠标左键时提交此消息WM_NCL BUTTO NUP = 0x00A2;#当用户释放鼠标左键同时光标某个窗口在非客户区十发送此消息;WM_NCL BUTTO NDBLC LK = 0x00A3;#当用户双击鼠标左键同时光标某个窗口在非客户区十发送此消息WM_NCR BUTTO NDOWN = 0x00A4;#当用户按下鼠标右键同时光标又在窗口的非客户区时发送此消息WM_NCR BUTTO NUP = 0x00A5;#当用户释放鼠标右键同时光标又在窗口的非客户区时发送此消息WM_NCR BUTTO NDBLC LK = 0x00A6;#当用户双击鼠标右键同时光标某个窗口在非客户区十发送此消息WM_NCM BUTTO NDOWN = 0x00A7;#当用户按下鼠标中键同时光标又在窗口的非客户区时发送此消息WM_NCM BUTTO NUP = 0x00A8;#当用户释放鼠标中键同时光标又在窗口的非客户区时发送此消息WM_NCM BUTTO NDBLC LK = 0x00A9;#当用户双击鼠标中键同时光标又在窗口的非客户区时发送此消息WM_KEY FIRST = 0x0100;WM_KEY DOWN= 0x0100;#//按下一个键WM_KEY UP = 0x0101;#//释放一个键WM_CHA R = 0x0102;#//按下某键,并已发出WM_KEYD OWN, WM_KEY UP消息WM_DEA DCHAR = 0x0103;#当用tran slate messa ge函数翻译WM_K EYUP消息时发送此消息给拥有焦点的窗口WM_SYS KEYDO WN = 0x0104;#当用户按住A LT键同时按下其它键时提交此消息给拥有焦点的窗口;WM_SYS KEYUP = 0x0105;#当用户释放一个键同时A LT 键还按着时提交此消息给拥有焦点的窗口WM_SYS CHAR= 0x0106;#当WM_SY SKEYD OWN消息被TRAN SLATE MESSA GE函数翻译后提交此消息给拥有焦点的窗口WM_SYS DEADC HA R = 0x0107;#当WM_SY SKEYD OWN消息被TRAN SLATE MESSA GE函数翻译后发送此消息给拥有焦点的窗口WM_KEY LAST= 0x0108;WM_INI TDIAL OG = 0x0110;#在一个对话框程序被显示前发送此消息给它,通常用此消息初始化控件和执行其它任务WM_COM MAND= 0x0111;#当用户选择一条菜单命令项或当某个控件发送一条消息给它的父窗口,一个快捷键被翻译WM_SYS COMMA ND = 0x0112;#当用户选择窗口菜单的一条命令或当用户选择最大化或最小化时那个窗口会收到此消息WM_TIM ER = 0x0113; //发生了定时器事件WM_HSC ROLL= 0x0114;#当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件WM_VSC ROLL= 0x0115;#当一个窗口标准垂直滚动条产生一个滚动事件时发送此消息给那个窗口也,发送给拥有它的控件 WM_INI TMENU = 0x0116;#当一个菜单将要被激活时发送此消息,它发生在用户菜单条中的某项或按下某个菜单键,它允许程序在显示前更改菜单WM_INI TMENU POPUP = 0x0117;#当一个下拉菜单或子菜单将要被激活时发送此消息,它允许程序在它显示前更改菜单,而不要改变全部WM_MEN USELE CT = 0x011F;#当用户选择一条菜单项时发送此消息给菜单的所有者(一般是窗口)WM_MEN UCHAR = 0x0120;#当菜单已被激活用户按下了某个键(不同于加速键),发送此消息给菜单的所有者;WM_ENT ERIDL E = 0x0121;#当一个模态对话框或菜单进入空载状态时发送此消息给它的所有者,一个模态对话框或菜单进入空载状态就是在处理完一条或几条先前的消息后没有消息它的列队中等待WM_MEN URBUT TONUP = 0x0122;WM_MEN UDRAG = 0x0123;WM_MEN UGETO BJECT = 0x0124;WM_UNI NITME NUPOP UP = 0x0125;WM_MEN UCOMM AND = 0x0126;WM_CHA NGEUI STATE = 0x0127;WM_UPD ATEUI STATE = 0x0128;WM_QUE RYUIS TATE= 0x0129;WM_CTL COLOR MSGBO X = 0x0132;#在windo ws绘制消息框前发送此消息给消息框的所有者窗口,通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置消息框的文本和背景颜色WM_CTL COLOR EDIT= 0x0133;#当一个编辑型控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置编辑框的文本和背景颜色WM_CTL COLOR LISTB OX = 0x0134;#当一个列表框控件将要被绘制前发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置列表框的文本和背景颜色WM_CTL COLOR BTN = 0x0135;#当一个按钮控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置按纽的文本和背景颜色WM_CTL COLOR DLG = 0x0136;#当一个对话框控件将要被绘制前发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置对话框的文本背景颜色WM_CTL COLOR SCROL LBAR=0x0137;#当一个滚动条控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置滚动条的背景颜色WM_CTL COLOR STATI C = 0x0138;#当一个静态控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置静态控件的文本和背景颜色WM_MOU SEFIR ST = 0x0200;WM_MOU SEMOV E = 0x0200;#// 移动鼠标WM_LBU TTOND OWN = 0x0201;#//按下鼠标左键WM_LBU TTONU P = 0x0202;#//释放鼠标左键WM_LBU TTOND BLCLK = 0x0203;#//双击鼠标左键WM_RBU TTOND OW N = 0x0204;#//按下鼠标右键WM_RBU TTONU P = 0x0205;#//释放鼠标右键WM_RBU TTOND BLCLK = 0x0206;#//双击鼠标右键WM_MBU TTOND OW N = 0x0207;#//按下鼠标中键WM_MBU TTONU P = 0x0208;#//释放鼠标中键WM_MBU TTOND BLCLK = 0x0209;#//双击鼠标中键WM_MOU SEWHE EL = 0x020A;#当鼠标轮子转动时发送此消息个当前有焦点的控件WM_MOU SELAS T = 0x020A;WM_PAR ENTNO TIFY= 0x0210;#当MDI子窗口被创建或被销毁,或用户按了一下鼠标键而光标在子窗口上时发送此消息给它的父窗口WM_ENT ERMEN ULOOP = 0x0211;#发送此消息通知应用程序的主窗口t hat已经进入了菜单循环模式WM_EXI TMENU LOOP= 0x0212;#发送此消息通知应用程序的主窗口t hat已退出了菜单循环模式WM_NEX TMENU = 0x0213;WM_SIZ ING = 532;#当用户正在调整窗口大小时发送此消息给窗口;通过此消息应用程序可以监视窗口大小和位置也可以修改他们WM_CAP TUREC HANGE D = 533;#发送此消息给窗口当它失去捕获的鼠标时;WM_MOV ING = 534;#当用户在移动窗口时发送此消息,通过此消息应用程序可以监视窗口大小和位置也可以修改他们;WM_POW ERBRO ADCAS T = 536;#此消息发送给应用程序来通知它有关电源管理事件;WM_DEV ICECH ANGE= 537;#当设备的硬件配置改变时发送此消息给应用程序或设备驱动程序WM_IME_STAR TCOMP OSITI ON = 0x010D;WM_IME_ENDC OMPOS ITION = 0x010E;WM_IME_COMP OSITI ON = 0x010F;WM_IME_KEYL AST = 0x010F;WM_IME_SETC ONTEX T = 0x0281;WM_IME_NOTI FY = 0x0282;WM_IME_CONT ROL = 0x0283;WM_IME_COMP OSITI ONFUL L = 0x0284;WM_IME_SELE CT = 0x0285;WM_IME_CHAR = 0x0286;WM_IME_REQU EST = 0x0288;WM_IME_KEYD OWN = 0x0290;WM_IME_KEYU P = 0x0291;WM_MDI CREAT E = 0x0220;#应用程序发送此消息给多文档的客户窗口来创建一个MDI子窗口WM_MDI DESTR OY = 0x0221;#应用程序发送此消息给多文档的客户窗口来关闭一个MDI子窗口WM_MDI ACTIV ATE = 0x0222;#应用程序发送此消息给多文档的客户窗口通知客户窗口激活另一个MD I子窗口,当客户窗口收到此消息后,它发出WM_MDIAC TIVE消息给MDI子窗口(未激活)激活它;WM_MDI RESTO RE = 0x0223;#程序发送此消息给MDI客户窗口让子窗口从最大最小化恢复到原来大小WM_MDI NEXT= 0x0224;#程序发送此消息给MDI客户窗口激活下一个或前一个窗口WM_MDI MAXIM IZE = 0x0225;#程序发送此消息给MDI客户窗口来最大化一个MDI子窗口;WM_MDI TILE= 0x0226;#程序发送此消息给MDI客户窗口以平铺方式重新排列所有MD I子窗口WM_MDI CASCA DE = 0x0227;#程序发送此消息给MDI客户窗口以层叠方式重新排列所有MD I子窗口WM_MDI ICONA RRANG E = 0x0228;#程序发送此消息给MDI客户窗口重新排列所有最小化的MDI子窗口WM_MDI GETAC TIVE= 0x0229;#程序发送此消息给MDI客户窗口来找到激活的子窗口的句柄WM_MDI SETME NU = 0x0230;#程序发送此消息给MDI客户窗口用MD I菜单代替子窗口的菜单WM_ENT ERSIZ EMOVE = 0x0231;WM_EXI TSIZE MOVE= 0x0232;WM_DRO PFILE S = 0x0233;WM_MDI REFRE SHMEN U = 0x0234;WM_MOU SEHOV ER = 0x02A1;WM_MOU SELEA VE = 0x02A3;WM_CUT = 0x0300;#程序发送此消息给一个编辑框或co mbobo x来删除当前选择的文本WM_COP Y = 0x0301;#程序发送此消息给一个编辑框或co mbobo x来复制当前选择的文本到剪贴板WM_PAS TE = 0x0302;#程序发送此消息给edi tcont rol或c ombob ox从剪贴板中得到数据WM_CLE A R = 0x0303;#程序发送此消息给edi tcont rol或c ombob ox清除当前选择的内容;WM_UND O = 0x0304;#程序发送此消息给edi tcont rol或c ombob ox撤消最后一次操作WM_REN DERFO RMAT= 0x0305;WM_REN DERAL LFORM ATS = 0x0306;WM_DES TROYC LIPBO A RD = 0x0307;#当调用ENP TYCLI PBOAR D函数时发送此消息给剪贴板的所有者WM_DRA WCLIP BOARD = 0x0308;#当剪贴板的内容变化时发送此消息给剪贴板观察链的第一个窗口;它允许用剪贴板观察窗口来显示剪贴板的新内容;WM_PAI NTCLI PBOAR D = 0x0309;#当剪贴板包含CF_OW NERDI PLAY格式的数据并且剪贴板观察窗口的客户区需要重画;WM_VSC ROLLC LIPBO ARD = 0x030A;WM_SIZ ECLIP BOARD = 0x030B;#当剪贴板包含CF_OW NERDI PLAY格式的数据并且剪贴板观察窗口的客户区域的大小已经改变是此消息通过剪贴板观察窗口发送给剪贴板的所有者;WM_ASK CBFOR MATNA ME = 0x030C;#通过剪贴板观察窗口发送此消息给剪贴板的所有者来请求一个CF_O WNERD ISPLA Y格式的剪贴板的名字WM_CHA NGECB CHAIN = 0x030D;#当一个窗口从剪贴板观察链中移去时发送此消息给剪贴板观察链的第一个窗口;WM_HSC ROLLC LIPBO ARD = 0x030E;#此消息通过一个剪贴板观察窗口发送给剪贴板的所有者;它发生在当剪贴板包含C FOWNE RDISP ALY格式的数据并且有个事件在剪贴板观察窗的水平滚动条上;所有者应滚动剪贴板图象并更新滚动条的值;WM_QUE RYNEW PALET TE = 0x030F;#此消息发送给将要收到焦点的窗口,此消息能使窗口在收到焦点时同时有机会实现他的逻辑调色板WM_PAL ETTEI SCHAN GING=0x0310;#当一个应用程序正要实现它的逻辑调色板时发此消息通知所有的应用程序WM_PAL ETTEC HANGE D = 0x0311;#此消息在一个拥有焦点的窗口实现它的逻辑调色板后发送此消息给所有顶级并重叠的窗口,以此来改变系统调色板WM_HOT KEY = 0x0312;#当用户按下由REGIS TERHO TKEY函数注册的热键时提交此消息WM_PRI NT = 791;#应用程序发送此消息仅当WINDO WS或其它应用程序发出一个请求要求绘制一个应用程序的一部分;WM_PRI NTCLI ENT = 792;WM_HAN DHELD FIRST = 856;WM_HAN DHELD LAST= 863;WM_PEN WINFI RST = 0x0380;WM_PEN WINLA ST = 0x038F;WM_COA LESCE_FIRS T = 0x0390;WM_COA LESCE_LAST = 0x039F;WM_DDE_FIRS T = 0x03E0;WM_DDE_INIT IATE= WM_DDE_FIRS T + 0;#一个DDE客户程序提交此消息开始一个与服务器程序的会话来响应那个指定的程序和主题名;WM_DDE_TERM INATE = WM_DDE_FIRS T + 1;#一个DDE应用程序(无论是客户还是服务器)提交此消息来终止一个会话;WM_DDE_ADVI SE = WM_DDE_FIRS T + 2;#一个DDE客户程序提交此消息给一个DDE服务程序来请求服务器每当数据项改变时更新它WM_DDE_UNAD VISE= WM_DDE_FIRS T + 3;#一个DDE客户程序通过此消息通知一个DDE服务程序不更新指定的项或一个特殊的剪贴板格式的项WM_DDE_ACK= WM_DDE_FIRS T + 4;#此消息通知一个DDE(动态数据交换)程序已收到并正在处理W M_DDE_POKE, WM_DDE_EXEC UTE, WM_DDE_DATA, WM_DDE_ADVI SE, WM_DDE_UNAD VISE,or WM_DDE_INIT IAT消息WM_DDE_DATA = WM_DDE_FIRS T + 5;#一个DDE服务程序提交此消息给D DE客户程序来传递个一数据项给客户或通知客户的一条可用数据项WM_DDE_REQU EST = WM_DDE_FIRS T + 6;#一个DDE客户程序提交此消息给一个DDE服务程序来请求一个数据项的值;WM_DDE_POKE = WM_DDE_FIRS T + 7;#一个DDE客户程序提交此消息给一个DDE服务程序,客户使用此消息来请求服务器接收一个未经同意的数据项;服务器通过答复WM_D DE_AC K消息提示是否它接收这个数据项;WM_DDE_EXEC UTE = WM_DDE_FIRS T + 8;#一个DDE客户程序提交此消息给一个DDE服务程序来发送一个字符串给服务器让它象串行命令一样被处理,服务器通过提交WM_D DE_AC K消息来作回应;WM_DDE_LAST = WM_DDE_FIRS T + 8;WM_APP = 0x8000;WM_USE R = 0x0400;#此消息能帮助应用程序自定义私有消息;。
Windows错误代码大全(2)1000---1700
Windows错误代码⼤全(2)1000---17001001 递归太深;堆栈溢出。
1002 窗⼝⽆法⽤来发送消息。
1003 ⽆法完成此项功能。
1004 标志⽆效。
1005 卷不包含已识别的⽂件系统。
请确认所有需要的⽂件系统驱动程序都已经加载,⽽且卷没有任何损坏。
1006 某⽂件的卷已在外部改变,因⽽打开的⽂件不再有效。
1007 要求的操作⽆法以全屏幕模式执⾏。
1008 试图引⽤并不存在的符号。
1009 配置注册表数据库已损坏。
1010 配置注册表主键⽆效。
1011 ⽆法打开配置注册表主键。
1012 ⽆法读取配置注册表主键。
1013 ⽆法写⼊配置注册表主键。
1014 必须使⽤⽇志⽂件或其他副本来恢复注册表数据库中的某个⽂件。
恢复成功。
1015 注册表已损坏。
可能是⼀个包含注册表数据⽂件的结构已损坏,也可能内存中该⽂件的系统映像已损坏,或者因为备份副本(或⽇志)不存在(或损坏)导致⽆法恢复该⽂件。
1016 由注册表引起的 I/O 操作发⽣了不可恢复的错误。
注册表将不能读取、写出或刷新包含注册表系统映像的其中⼀个⽂件。
1017 系统试图将⽂件加载或还原到注册表中,但是,指定的⽂件不是注册表⽂件格式。
1018 试图在注册表键(已经标记为删除)中完成的操作⾮法。
1019 系统⽆法在注册表⽇志⽂件中分配所需的空间。
1020 ⽆法在已经有⼦键或键值的注册表项中创建符号链接。
1021 在易失的⽗键下不能创建固定的⼦键。
1022 通知的更改请求已经完成,并且返回信息还没有被送到调⽤者的缓冲区中。
调⽤者需要列举所有⽂件以找到改动的内容。
1051 已将停⽌控制发送给与其他运⾏服务相关的服务。
1052 所要求的控制对此服务⽆效。
1053 服务没有及时地响应启动或控制请求。
1054 ⽆法为该服务创建线程。
1055 服务数据库已锁定。
1056 该服务的实例已在运⾏。
1057 帐户名⽆效或者不存在,或者指定帐户名的密码⽆效。
WINDOWS消息对照表
Public Enum WindowMessagesWM_ACTIVATE = &H6WM_ACTIVATEAPP = &H1CWM_ASKCBFORMATNAME = &H30CWM_CANCELJOURNAL = &H4BWM_CANCELMODE = &H1FWM_CAPTURECHANGED = &H1FWM_CAPTURECHANGED_R = &H215WM_CHANGECBCHAIN = &H30DWM_CHAR = &H102WM_CHARTOITEM = &H2FWM_CHILDACTIVATE = &H22WM_CHOOSEFONT_GETLOGFONT = &H401WM_CHOOSEFONT_SETFLAGS = (&H400 + 102)WM_CHOOSEFONT_SETLOGFONT = (&H400 + 101) WM_CLEAR = &H303WM_CLOSE = &H10WM_COMMAND = &H111WM_COMPACTING = &H41WM_COMPAREITEM = &H39WM_CONTEXTMENU = &H7BWM_CONVERTREQUESTEX = &H108WM_COPY = &H301WM_COPYDATA = &H4AWM_CREATE = &H1WM_CTLCOLORBTN = &H135WM_CTLCOLORDLG = &H136WM_CTLCOLOREDIT = &H133WM_CTLCOLORLISTBOX = &H134WM_CTLCOLORMSGBOX = &H132WM_CTLCOLORSCROLLBAR = &H137 WM_CTLCOLORSTATIC = &H138WM_CUT = &H300WM_DDE_ACK = (&H3E0 + 4)WM_DDE_ADVISE = (&H3E0 + 2)WM_DDE_DATA = (&H3E0 + 5)WM_DDE_EXECUTE = (&H3E0 + 8) WM_DDE_FIRST = &H3E0WM_DDE_INITIATE = &H3E0WM_DDE_LAST = (&H3E0 + 8)WM_DDE_POKE = (&H3E0 + 7)WM_DDE_REQUEST = (&H3E0 + 6) WM_DDE_TERMINATE = (&H3E0 + 1) WM_DDE_UNADVISE = (&H3E0 + 3) WM_DEADCHAR = &H103WM_DELETEITEM = &H2DWM_DESTROY = &H2WM_DESTROYCLIPBOARD = &H307 WM_DEVICECHANGE = &H219WM_DEVMODECHANGE = &H1BWM_DRAWCLIPBOARD = &H308WM_DRAWITEM = &H2BWM_DROPFILES = &H233WM_ENABLE = &HAWM_ENDSESSION = &H16WM_ENTERIDLE = &H121WM_ENTERSIZEMOVE = &H231WM_ENTERMENULOOP = &H211WM_ERASEBKGND = &H14WM_EXITMENULOOP = &H212WM_EXITSIZEMOVE = &H232WM_FONTCHANGE = &H1DWM_GETDLGCODE = &H87WM_GETFONT = &H31WM_GETHOTKEY = &H33WM_GETMINMAXINFO = &H24WM_GETTEXT = &HDWM_GETTEXTLENGTH = &HEWM_HELP = &H53WM_HOTKEY = &H312WM_HSCROLL = &H114WM_HSCROLLCLIPBOARD = &H30EWM_ICONERASEBKGND = &H27WM_IME_CHAR = &H286WM_IME_COMPOSITION = &H10FWM_IME_COMPOSITIONFULL = &H284WM_IME_CONTROL = &H283WM_IME_ENDCOMPOSITION = &H10EWM_IME_KEYDOWN = &H290WM_IME_KEYLAST = &H10FWM_IME_KEYUP = &H291WM_IME_NOTIFY = &H282WM_IME_SELECT = &H285WM_IME_SETCONTEXT = &H281WM_IME_STARTCOMPOSITION = &H10D WM_INITDIALOG = &H110WM_INITMENU = &H116WM_INITMENUPOPUP = &H117WM_INPUTLANGCHANGEREQUEST = &H50 WM_INPUTLANGCHANGE = &H51WM_KEYDOWN = &H100WM_KEYUP = &H101WM_KILLFOCUS = &H8WM_LBUTTONDBLCLK = &H203WM_LBUTTONDOWN = &H201 鼠标左键按下的消息WM_LBUTTONUP = &H202WM_MBUTTONDBLCLK = &H209WM_MBUTTONDOWN = &H207WM_MBUTTONUP = &H208WM_MDIACTIVATE = &H222WM_MDICASCADE = &H227WM_MDICREATE = &H220WM_MDIDESTROY = &H221WM_MDIGETACTIVE = &H229WM_MDIICONARRANGE = &H228WM_MDIMAXIMIZE = &H225WM_MDINEXT = &H224WM_MDIREFRESHMENU = &H234WM_MDIRESTORE = &H223WM_MDISETMENU = &H230WM_MDITILE = &H226WM_MEASUREITEM = &H2CWM_MENUCHAR = &H120WM_MENUSELECT = &H11FWM_MENURBUTTONUP = &H122WM_MENUDRAG = &H123WM_MENUGETOBJECT = &H124WM_MENUCOMMAND = &H126WM_MOUSEACTIVATE = &H21WM_MOUSEHOVER = &H2A1WM_MOUSELEAVE = &H2A3WM_MOUSEMOVE = &H200WM_MOUSEWHEEL = &H20AWM_MOVE = &H3WM_MOVING = &H216WM_NCACTIVATE = &H86WM_NCCALCSIZE = &H83WM_NCCREATE = &H81WM_NCDESTROY = &H82WM_NCHITTEST = &H84WM_NCLBUTTONDBLCLK = &HA3 WM_NCLBUTTONDOWN = &HA1 WM_NCLBUTTONUP = &HA2WM_NCMBUTTONDBLCLK = &HA9 WM_NCMBUTTONDOWN = &HA7 WM_NCMBUTTONUP = &HA8WM_NCMOUSEMOVE = &HA0WM_NCPAINT = &H85WM_NCRBUTTONDBLCLK = &HA6 WM_NCRBUTTONDOWN = &HA4 WM_NCRBUTTONUP = &HA5WM_NEXTDLGCTL = &H28WM_NEXTMENU = &H213WM_NULL = &H0WM_PAINT = &HFWM_PAINTCLIPBOARD = &H309 WM_PAINTICON = &H26WM_PALETTECHANGED = &H311 WM_PALETTEISCHANGING = &H310 WM_PARENTNOTIFY = &H210WM_PENWINFIRST = &H380WM_PENWINLAST = &H38FWM_POWER = &H48WM_POWERBROADCAST = &H218WM_PRINT = &H317WM_PRINTCLIENT = &H318WM_PSD_ENVSTAMPRECT = (&H400 + 5) WM_PSD_FULLPAGERECT = (&H400 + 1) WM_PSD_GREEKTEXTRECT = (&H400 + 4) WM_PSD_MARGINRECT = (&H400 + 3)WM_PSD_MINMARGINRECT = (&H400 + 2) WM_PSD_PAGESETUPDLG = (&H400)WM_PSD_YAFULLPAGERECT = (&H400 + 6) WM_QUERYDRAGICON = &H37WM_QUERYENDSESSION = &H11WM_QUERYNEWPALETTE = &H30FWM_QUERYOPEN = &H13WM_QUEUESYNC = &H23WM_QUIT = &H12WM_RBUTTONDBLCLK = &H206WM_RBUTTONDOWN = &H204WM_RBUTTONUP = &H205WM_RENDERALLFORMATS = &H306WM_RENDERFORMAT = &H305WM_SETCURSOR = &H20WM_SETFOCUS = &H7WM_SETFONT = &H30WM_SETHOTKEY = &H32WM_SETREDRAW = &HBWM_SETTINGCHANGE = &H1AWM_SHOWWINDOW = &H18WM_SIZE = &H5WM_SIZING = &H214WM_SIZECLIPBOARD = &H30BWM_SPOOLERSTATUS = &H2AWM_SYSCHAR = &H106WM_SYSCOLORCHANGE = &H15WM_SYSCOMMAND = &H112WM_SYSDEADCHAR = &H107WM_SYSKEYDOWN = &H104WM_SYSKEYUP = &H105WM_TIMECHANGE = &H1EWM_TIMER = &H113WM_UNDO = &H304WM_USER = &H400WM_VKEYTOITEM = &H2EWM_VSCROLL = &H115WM_VSCROLLCLIPBOARD = &H30AWM_WINDOWPOSCHANGED = &H47WM_WINDOWPOSCHANGING = &H46WM_WININICHANGE = &H1AWM_APPCOMMAND = &H319End EnumWM_NCLBUTTONUP , WM_NCMBUTTONUP , WM_NCRBUTTONUP Public Enum enHitTestResultHTBORDER = 18HTBOTTOM = 15HTBOTTOMLEFT = 16HTBOTTOMRIGHT = 17HTCAPTION = 2HTCLIENT = 1HTERROR = (-2)HTGROWBOX = 4HTHSCROLL = 6HTLEFT = 10HTMAXBUTTON = 9HTMENU = 5HTMINBUTTON = 8HTNOWHERE = 0HTRIGHT = 11HTSYSMENU = 3HTTOP = 12HTTOPLEFT = 13HTTOPRIGHT = 14HTVSCROLL = 7HTTRANSPARENT = (-1)HTOBJECT = 19HTCLOSE = 20HTHELP = 21End Enum。
windows消息队列数据结构c语言
Windows消息队列是一个用于进程间通信(IPC)的数据结构,它允许不同的进程通过发送和接收消息来进行通信。
在C语言中,可以使用Win32 API来创建和使用消息队列。
以下是一个简单的示例,展示了如何在C语言中使用Windows消息队列:c#include <windows.h>#include <stdio.h>// 定义消息队列名称#define QUEUE_NAME "MyMessageQueue"// 发送消息的函数void sendMessage(char* message) {HANDLE hQueue;// 打开或创建一个消息队列if (!(hQueue = CreateEvent(NULL, FALSE, FALSE, QUEUE_NAME))) {printf("Failed to create event\n");return;}// 将消息发送到队列中if (!PostEvent(hQueue, message)) {printf("Failed to post message\n");return;}// 关闭事件句柄CloseHandle(hQueue);}// 接收消息的函数char* receiveMessage() {HANDLE hQueue;// 打开或创建一个消息队列if (!(hQueue = CreateEvent(NULL, FALSE, FALSE, QUEUE_NAME))) {printf("Failed to create event\n");return NULL;}// 从队列中接收消息char* message = (char*)WaitForSingleObject(hQueue, INFINITE);// 关闭事件句柄CloseHandle(hQueue);return message;}int main() {char* message = receiveMessage();if (message) {printf("Received message: %s\n", message);// 释放消息内存LocalFree(message);} else {printf("Failed to receive message\n");}return 0;}这个示例代码演示了如何使用Windows消息队列来发送和接收消息。
Windows事件ID及解释大全
Windows事件ID及解释大全Windows 事件ID及解释大全(XP、2000、2003)(0-2000)代码错误信息解释--------------------------------------------0 操作成功完成。
1 函数不正确。
2 系统找不到指定的文件。
3 系统找不到指定的路径。
4 系统无法打开文件。
5 拒绝访问。
6 句柄无效。
7 存储控制块被损坏。
8 存储空间不足,无法处理此命令。
9 存储控制块地址无效。
10 环境不正确。
11 试图加载格式不正确的程序。
12 访问码无效。
13 数据无效。
14 存储空间不足,无法完成此操作。
15 系统找不到指定的驱动器。
16 无法删除目录。
17 系统无法将文件移到不同的驱动器。
18 没有更多文件。
19 介质受写入保护。
20 系统找不到指定的设备。
21 设备未就绪。
22 设备不识别此命令。
23 数据错误(循环冗余检查)。
24 程序发出命令,但命令长度不正确。
25 驱动器找不到磁盘上特定区域或磁道。
26 无法访问指定的磁盘或软盘。
27 驱动器找不到请求的扇区。
28 打印机缺纸。
29 系统无法写入指定的设备。
30 系统无法从指定的设备上读取。
31 连到系统上的设备没有发挥作用。
32 另一个程序正在使用此文件,进程无法访问。
33 另一个程序已锁定文件的一部分,进程无法访问。
36 用来共享的打开文件过多。
38 已到文件结尾。
39 磁盘已满。
50 不支持请求。
51 Windows 无法找到网络路径。
请确认网络路径正确并且目标计算机不忙或已关闭。
如果Windows 仍然无法找到网络路径,请与网络管理员联系。
52 由于网络上有重名,没有连接。
请到“控制面板”中的“系统”更改计算机名,然后重试。
53 找不到网络路径。
54 网络很忙。
55 指定的网络资源或设备不再可用。
56 已达到网络 BIOS 命令限制。
57 网络适配器硬件出错。
58 指定的服务器无法运行请求的操作。
windows消息机制的工作原理
windows消息机制的工作原理Windows 消息机制是一种用于进程间通信的机制,它通过消息队列将消息发送给目标进程并进行处理。
本文将介绍Windows消息机制的工作原理。
1. 消息队列在Windows操作系统中,每个窗口都有一个与之关联的消息队列。
消息队列是一个先进先出的队列,用于存储发送给窗口的消息。
当有消息发送给窗口时,消息会被添加到消息队列的末尾。
2. 消息循环每个窗口都有一个消息循环,它负责从消息队列中取出消息并进行处理。
消息循环是一个无限循环,不断地从消息队列中取出消息并分发给窗口的回调函数进行处理。
消息循环的伪代码如下所示:```while (GetMessage(&msg, hWnd, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}```在每次循环中,GetMessage函数会从消息队列中取出一个消息。
TranslateMessage函数用于将消息转换为键盘消息,以便处理键盘输入。
DispatchMessage函数负责将消息分发给窗口的回调函数。
3. 消息处理窗口的回调函数(也称为窗口过程)是用于处理消息的函数。
每个窗口都有一个唯一的回调函数,当接收到消息时,回调函数会根据消息类型进行相应的处理。
根据消息的不同,回调函数可以执行一系列操作,例如绘制窗口、响应用户输入等。
4. 消息参数每个消息包含一些参数,用于指定消息的类型和详细信息。
常见的消息参数包括消息类型(例如WM_CREATE、WM_PAINT等)、消息源(例如来自哪个窗口或控件)、消息的附加参数(例如鼠标点击的位置)等。
回调函数根据这些参数来判断如何处理消息。
5. 消息处理顺序Windows消息机制采用先到先服务的原则,即先发送的消息先处理。
当消息循环从消息队列中取出消息时,会按照消息的先后顺序进行处理,确保消息的有序性。
这意味着发送给窗口的消息将按照发送的顺序被处理。
Windows事件ID及解释大全
Window s 事件I D及解释大全(XP、2000、2003)(0-2000) 代码错误信息解释--------------------------------------------0 操作成功完成。
1 函数不正确。
2 系统找不到指定的文件。
3系统找不到指定的路径。
4系统无法打开文件。
5 拒绝访问。
6句柄无效。
7 存储控制块被损坏。
8存储空间不足,无法处理此命令。
9 存储控制块地址无效。
10 环境不正确。
11 试图加载格式不正确的程序。
12 访问码无效。
13 数据无效。
14 存储空间不足,无法完成此操作。
15 系统找不到指定的驱动器。
16 无法删除目录。
17 系统无法将文件移到不同的驱动器。
18 没有更多文件。
19介质受写入保护。
20 系统找不到指定的设备。
21 设备未就绪。
22 设备不识别此命令。
23数据错误(循环冗余检查)。
24 程序发出命令,但命令长度不正确。
25 驱动器找不到磁盘上特定区域或磁道。
26 无法访问指定的磁盘或软盘。
27驱动器找不到请求的扇区。
28打印机缺纸。
29系统无法写入指定的设备。
30 系统无法从指定的设备上读取。
31连到系统上的设备没有发挥作用。
32 另一个程序正在使用此文件,进程无法访问。
33 另一个程序已锁定文件的一部分,进程无法访问。
36 用来共享的打开文件过多。
38已到文件结尾。
39磁盘已满。
50不支持请求。
51Windo ws 无法找到网络路径。
请确认网络路径正确并且目标计算机不忙或已关闭。
如果 Wi ndows仍然无法找到网络路径,请与网络管理员联系。
52由于网络上有重名,没有连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WM_ERASEBKGND = $0014;当窗口背景必须被擦除时(例在窗口改变大小时)
WM_SYSCOLORCHANGE = $0015;当系统颜色改变时,发送此消息给所有顶级窗口
WM_ENDSESSION = $0016;当系统进程发出WM_QUERYENDSESSION消息后,此消息发送给应用程序,通知它对话是否结束
end;
消息中有什么?
是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:
hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。
message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。
WM_INPUTLANGCHANGE = $0051;当平台现场已经被改变后发送此消息给受影响的最顶级窗口
WM_TCARD = $0052;当程序已经初始化windows帮助例程时发送此消息给应用程序
WM_HELP = $0053;此消息显示用户按下了F1,如果某个菜单是激活的,就发送此消息个此窗口关联的菜单,否则就发送给有焦点的窗口,如果当前都没有焦点,就把此消息发送给当前激活的窗口
WM_CHILDACTIVATE = $0022;发送此消息给MDI子窗口当用户点击此窗口的标题栏,或当窗口被激活,移动,改变大小
WM_QUEUห้องสมุดไป่ตู้SYNC = $0023;此消息由基于计算机的训练程序发送,通过WH_JOURNALPALYBACK的hook程序分离出用户输入消息
WM_GETMINMAXINFO = $0024;此消息发送给窗口当它将要改变大小或位置;
WM_CONTEXTMENU = $007B;当用户某个窗口中点击了一下右键就发送此消息给这个窗口
WM_STYLECHANGING = $007C;当调用SETWINDOWLONG函数将要改变一个或多个 窗口的风格时发送此消息给那个窗口
WM_STYLECHANGED = $007D;当调用SETWINDOWLONG函数一个或多个 窗口的风格后发送此消息给那个窗口
WM_SYSTEMERROR = $0017;
WM_SHOWWINDOW = $0018;当隐藏或显示窗口是发送此消息给这个窗口
WM_ACTIVATEAPP = $001C;发此消息给应用程序哪个窗口是激活的,哪个是非激活的;
WM_FONTCHANGE = $001D;当系统的字体资源库变化时发送此消息给所有顶级窗口
WM_NCMOUSEMOVE = $00A0;当光标在一个窗口的非客户区内移动时发送此消息给这个窗口 //非客户区为:窗体的标题栏及窗的边框体
WM_NCLBUTTONDOWN = $00A1;当光标在一个窗口的非客户区同时按下鼠标左键时提交此消息
WM_NCLBUTTONUP = $00A2;当用户释放鼠标左键同时光标某个窗口在非客户区十发送此消息;
WM_SETHOTKEY = $0032;应用程序发送此消息让一个窗口与一个热键相关连
WM_GETHOTKEY = $0033;应用程序发送此消息来判断热键与某个窗口是否有关联
WM_QUERYDRAGICON = $0037;此消息发送给最小化窗口,当此窗口将要被拖放而它的类中没有定义图标,应用程序能返回一个图标或光标的句柄,当用户拖放图标时系统显示这个图标或光标
WM_CHARTOITEM = $002F;此消息由一个LBS_WANTKEYBOARDINPUT风格的列表框发送给他的所有者来响应WM_CHAR消息
WM_SETFONT = $0030;当绘制文本时程序发送此消息得到控件要用的颜色
WM_GETFONT = $0031;应用程序发送此消息得到当前控件绘制文本的字体
WM_PAINTICON = $0026;发送给最小化窗口当它图标将要被重画
WM_ICONERASEBKGND = $0027;此消息发送给某个最小化窗口,仅当它在画图标前它的背景必须被重画
WM_NEXTDLGCTL = $0028;发送此消息给一个对话框程序去更改焦点位置
WM_SPOOLERSTATUS = $002A;每当打印管理列队增加或减少一条作业时发出此消息
WM_TIMECHANGE = $001E;当系统的时间变化时发送此消息给所有顶级窗口
WM_CANCELMODE = $001F;发送此消息来取消某种正在进行的摸态(操作)
WM_SETCURSOR = $0020;如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,就发消息给某个窗口
WM_MOUSEACTIVATE = $0021;当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息给当前窗口
WM_WINDOWPOSCHANGED = $0047;发送此消息给那个窗口的大小和位置已经被改变时,来调用setwindowpos函数或其它窗口管理函数
WM_POWER = $0048;(适用于16位的windows)当系统将要进入暂停状态时发送此消息
WM_COPYDATA = $004A;当一个应用程序传递数据给另一个应用程序时发送此消息
WM_NCDESTROY = $0082;此消息通知某个窗口,非客户区正在销毁
WM_NCCALCSIZE = $0083;当某个窗口的客户区域必须被核算时发送此消息
WM_NCHITTEST = $0084;//移动鼠标,按住或释放鼠标时发生
WM_NCPAINT = $0085;程序发送此消息给某个窗口当它(窗口)的框架必须被绘制时;
WM_COMPAREITEM = $0039;发送此消息来判定combobox或listbox新增加的项的相对位置
WM_GETOBJECT = $003D;
WM_COMPACTING = $0041;显示内存已经很少了
WM_WINDOWPOSCHANGING = $0046;发送此消息给那个窗口的大小和位置将要被改变时,来调用setwindowpos函数或其它窗口管理函数
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量标识符
wParam: WPA R A M ; // 32位消息的特定附加信息
lParam: LPA R A M ; // 32位消息的特定附加信息
time: DWORD; / /消息创建时的时间
pt: TPoint; / /消息创建时的鼠标位置
WM_ENABLE = $000A;改变enable状态
WM_SETREDRAW = $000B;设置窗口是否能重画
WM_SETTEXT = $000C;应用程序发送此消息来设置一个窗口的文本
WM_GETTEXT = $000D;应用程序发送此消息来复制对应窗口的文本到缓冲区
WM_GETTEXTLENGTH = $000E;得到与一个窗口有关的文本的长度(不包含空字符)
WM_NCACTIVATE = $0086;此消息发送给某个窗口 仅当它的非客户区需要被改变来显示是激活还是非激活状态;
WM_GETDLGCODE = $0087;发送此消息给某个与对话框程序关联的控件,widdows控制方位键和TAB键使输入进入此控件通过响应WM_GETDLGCODE消息,应用程序可以把他当成一个特殊的输入控件并能处理它
windows 消息代码
文章分类:Java编程
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做T M s g,它在Wi n d o w s单元中是这样声明的:
type
TMsg = packed record
WM_DELETEITEM = $002D;当the list box 或 combo box 被销毁 或 当 某些项被删除通过LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT 消息
WM_VKEYTOITEM = $002E;此消息有一个LBS_WANTKEYBOARDINPUT风格的发出给它的所有者来响应WM_KEYDOWN消息
WM_NCLBUTTONDBLCLK = $00A3;当用户双击鼠标左键同时光标某个窗口在非客户区十发送此消息
WM_NCRBUTTONDOWN = $00A4;当用户按下鼠标右键同时光标又在窗口的非客户区时发送此消息
WM_NCRBUTTONUP = $00A5;当用户释放鼠标右键同时光标又在窗口的非客户区时发送此消息
WM_NCRBUTTONDBLCLK = $00A6;当用户双击鼠标右键同时光标某个窗口在非客户区十发送此消息
WM_NCMBUTTONDOWN = $00A7;当用户按下鼠标中键同时光标又在窗口的非客户区时发送此消息
wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。
lParam 通常是一个指向内存中数据的指针。由于WParm、lParam和Pointer都是32位的,因此,它们之间可以相互转换。
WM_NULL = $0000;
WM_CREATE = $0001;应用程序创建一个窗口
WM_USERCHANGED = $0054;当用户已经登入或退出后发送此消息给所有的窗口,当用户登入或退出时系统更新用户的具体设置信息,在用户更新设置时系统马上发送此消息;
WM_NOTIFYFORMAT = $0055;公用控件,自定义控件和他们的父窗口通过此消息来判断控件是使用ANSI还是UNICODE结构在WM_NOTIFY消息,使用此控件能使某个控件与它的父控件之间进行相互通信