文档库 最新最全的文档下载
当前位置:文档库 › Windows 所有消息 的列表

Windows 所有消息 的列表

Windows 所有消息 的列表
Windows 所有消息 的列表

hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。

message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。

wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。

lParam 通常是一个指向内存中数据的指针。由于W P a r a m、l P a r a m 和P o i n t e r都是3 2位的,因此,它们之间可以相互转换。

WM_NULL = $0000;

WM_CREATE = $0001;

应用程序创建一个窗口

WM_DESTROY = $0002;

一个窗口被销毁

WM_MOVE = $0003;

移动一个窗口

WM_SIZE = $0005;

改变一个窗口的大小

WM_ACTIVATE = $0006;

一个窗口被激活或失去激活状态;

WM_SETFOCUS = $0007;

获得焦点后

WM_KILLFOCUS = $0008;

失去焦点

WM_ENABLE = $000A;

改变enable状态

WM_SETREDRAW = $000B;

设置窗口是否能重画

WM_SETTEXT = $000C;

应用程序发送此消息来设置一个窗口的文本

WM_GETTEXT = $000D;

应用程序发送此消息来复制对应窗口的文本到缓冲区

WM_GETTEXTLENGTH = $000E;

得到与一个窗口有关的文本的长度(不包含空字符)

WM_PAINT = $000F;

要求一个窗口重画自己

WM_CLOSE = $0010;

当一个窗口或应用程序要关闭时发送一个信号

WM_QUERYENDSESSION = $0011;

当用户选择结束对话框或程序自己调用ExitWindows函数WM_QUIT = $0012;

用来结束程序运行或当程序调用postquitmessage函数

WM_QUERYOPEN = $0013;

当用户窗口恢复以前的大小位置时,把此消息发送给某个图标WM_ERASEBKGND = $0014;

当窗口背景必须被擦除时(例在窗口改变大小时)

WM_SYSCOLORCHANGE = $0015;

当系统颜色改变时,发送此消息给所有顶级窗口

WM_ENDSESSION = $0016;

当系统进程发出WM_QUERYENDSESSION消息后,此消息发送给应用程序,

通知它对话是否结束

WM_SYSTEMERROR = $0017;

WM_SHOWWINDOW = $0018;

当隐藏或显示窗口是发送此消息给这个窗口

WM_ACTIVATEAPP = $001C;

发此消息给应用程序哪个窗口是激活的,哪个是非激活的;

WM_FONTCHANGE = $001D;

当系统的字体资源库变化时发送此消息给所有顶级窗口

WM_TIMECHANGE = $001E;

当系统的时间变化时发送此消息给所有顶级窗口

WM_CANCELMODE = $001F;

发送此消息来取消某种正在进行的摸态(操作)

WM_SETCURSOR = $0020;

如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,就发消息给某个窗口

WM_MOUSEACTIVATE = $0021;

当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息给当前窗口

WM_CHILDACTIVATE = $0022;

发送此消息给MDI子窗口当用户点击此窗口的标题栏,或当窗口被激活,移动,改变大小

WM_QUEUESYNC = $0023;

此消息由基于计算机的训练程序发送,通过WH_JOURNALPALYBACK的hook程序

分离出用户输入消息

WM_GETMINMAXINFO = $0024;

此消息发送给窗口当它将要改变大小或位置;

WM_PAINTICON = $0026;

发送给最小化窗口当它图标将要被重画

WM_ICONERASEBKGND = $0027;

此消息发送给某个最小化窗口,仅当它在画图标前它的背景必须被重画

WM_NEXTDLGCTL = $0028;

发送此消息给一个对话框程序去更改焦点位置

WM_SPOOLERSTATUS = $002A;

每当打印管理列队增加或减少一条作业时发出此消息

WM_DRAWITEM = $002B;

当button,combobox,listbox,menu的可视外观改变时发送

此消息给这些空件的所有者

WM_MEASUREITEM = $002C;

当button, combo box, list box, list view control, or menu item 被创建时发送此消息给控件的所有者 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_CHARTOITEM = $002F;

此消息由一个LBS_WANTKEYBOARDINPUT风格的列表框发送给他的所有者来响应

WM_CHAR消息

WM_SETFONT = $0030;

当绘制文本时程序发送此消息得到控件要用的颜色

WM_GETFONT = $0031;

应用程序发送此消息得到当前控件绘制文本的字体

WM_SETHOTKEY = $0032;

应用程序发送此消息让一个窗口与一个热键相关连

WM_GETHOTKEY = $0033;

应用程序发送此消息来判断热键与某个窗口是否有关联

WM_QUERYDRAGICON = $0037; 此消息发送给最小化窗口,当此窗口将要被拖放而它的类中没有定义图标,应用程序能返回一个图标或光标的句柄,当用户拖放图标时系统显示这个图标或光标

WM_COMPAREITEM = $0039;

发送此消息来判定combobox或listbox新增加的项的相对位置

WM_GETOBJECT = $003D;

WM_COMPACTING = $0041;

显示内存已经很少了

WM_WINDOWPOSCHANGING = $0046;

发送此消息给那个窗口的大小和位置将要被改变时,来调用setwindowpos函数或其它窗口管理函数

WM_WINDOWPOSCHANGED = $0047;

发送此消息给那个窗口的大小和位置已经被改变时,来调用setwindowpos函数或其它窗口管理函数 WM_POWER = $0048;(适用于16位的windows)

当系统将要进入暂停状态时发送此消息

WM_COPYDATA = $004A;

当一个应用程序传递数据给另一个应用程序时发送此消息

WM_CANCELJOURNAL = $004B;

当某个用户取消程序日志激活状态,提交此消息给程序

WM_NOTIFY = $004E;

当某个控件的某个事件已经发生或这个控件需要得到一些信息时,发送此消息给它的父窗口

WM_INPUTLANGCHANGEREQUEST = $0050;

当用户选择某种输入语言,或输入语言的热键改变

WM_INPUTLANGCHANGE = $0051;

当平台现场已经被改变后发送此消息给受影响的最顶级窗口

WM_TCARD = $0052;

当程序已经初始化windows帮助例程时发送此消息给应用程序

WM_HELP = $0053;

此消息显示用户按下了F1,如果某个菜单是激活的,就发送此消息个此窗口关联的菜单,否则就发送给有焦点的窗口,如果当前都没有焦点,就把此消息发送给当前激活的窗口

WM_USERCHANGED = $0054;

当用户已经登入或退出后发送此消息给所有的窗口,当用户登入或退出时系统更新用户的具体

设置信息,在用户更新设置时系统马上发送此消息;

WM_NOTIFYFORMAT = $0055;

公用控件,自定义控件和他们的父窗口通过此消息来判断控件是使用ANSI还是UNICODE结构

在WM_NOTIFY消息,使用此控件能使某个控件与它的父控件之间进行相互通信

WM_CONTEXTMENU = $007B;

当用户某个窗口中点击了一下右键就发送此消息给这个窗口

WM_STYLECHANGING = $007C;

当调用SETWINDOWLONG函数将要改变一个或多个窗口的风格时发送此消息给那个窗口

WM_STYLECHANGED = $007D;

当调用SETWINDOWLONG函数一个或多个窗口的风格后发送此消息给那个窗口

WM_DISPLAYCHANGE = $007E;

当显示器的分辨率改变后发送此消息给所有的窗口

WM_GETICON = $007F; 此消息发送给某个窗口来返回与某个窗口有关连的大图标或小图标的句柄;

WM_SETICON = $0080;

程序发送此消息让一个新的大图标或小图标与某个窗口关联;

WM_NCCREATE = $0081;

当某个窗口第一次被创建时,此消息在WM_CREATE消息发送前发送;

WM_NCDESTROY = $0082;

此消息通知某个窗口,非客户区正在销毁

WM_NCCALCSIZE = $0083;

当某个窗口的客户区域必须被核算时发送此消息

WM_NCHITTEST = $0084;//移动鼠标,按住或释放鼠标时发生

WM_NCPAINT = $0085;

程序发送此消息给某个窗口当它(窗口)的框架必须被绘制时;

WM_NCACTIVATE = $0086;

此消息发送给某个窗口仅当它的非客户区需要被改变来显示是激活还是非激活状态;

WM_GETDLGCODE = $0087;

发送此消息给某个与对话框程序关联的控件,widdows控制方位键和TAB键使输入进入此控件

通过响应WM_GETDLGCODE消息,应用程序可以把他当成一个特殊的输入控件并能处理它

WM_NCMOUSEMOVE = $00A0;

当光标在一个窗口的非客户区内移动时发送此消息给这个窗口 //非客户区为:窗体的标题栏及窗

的边框体

WM_NCLBUTTONDOWN = $00A1;

当光标在一个窗口的非客户区同时按下鼠标左键时提交此消息

WM_NCLBUTTONUP = $00A2;

当用户释放鼠标左键同时光标某个窗口在非客户区时发送此消息;

WM_NCLBUTTONDBLCLK = $00A3;

当用户双击鼠标左键同时光标某个窗口在非客户区时发送此消息

WM_NCRBUTTONDOWN = $00A4;

当用户按下鼠标右键同时光标又在窗口的非客户区时发送此消息

WM_NCRBUTTONUP = $00A5;

当用户释放鼠标右键同时光标又在窗口的非客户区时发送此消息

WM_NCRBUTTONDBLCLK = $00A6;

当用户双击鼠标右键同时光标某个窗口在非客户区十发送此消息

WM_NCMBUTTONDOWN = $00A7;

当用户按下鼠标中键同时光标又在窗口的非客户区时发送此消息

WM_NCMBUTTONUP = $00A8;

当用户释放鼠标中键同时光标又在窗口的非客户区时发送此消息

WM_NCMBUTTONDBLCLK = $00A9;

当用户双击鼠标中键同时光标又在窗口的非客户区时发送此消息

WM_KEYFIRST = $0100;

WM_KEYDOWN = $0100;

//按下一个键

WM_KEYUP = $0101;

//释放一个键

WM_CHAR = $0102;

//按下某键,并已发出WM_KEYDOWN, WM_KEYUP消息

WM_DEADCHAR = $0103;

当用translatemessage函数翻译WM_KEYUP消息时发送此消息给拥有焦点的窗口

WM_SYSKEYDOWN = $0104;

当用户按住ALT键同时按下其它键时提交此消息给拥有焦点的窗口;

WM_SYSKEYUP = $0105;

当用户释放一个键同时ALT 键还按着时提交此消息给拥有焦点的窗口

WM_SYSCHAR = $0106;

当WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函数翻译后提交此消息给拥有焦点的窗口

WM_SYSDEADCHAR = $0107;

当WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函数翻译后发送此消息给拥有焦点的窗口

WM_KEYLAST = $0108;

WM_INITDIALOG = $0110;

在一个对话框程序被显示前发送此消息给它,通常用此消息初始化控件和执行其它任务

WM_COMMAND = $0111;

当用户选择一条菜单命令项或当某个控件发送一条消息给它的父窗口,一个快捷键被翻译

WM_SYSCOMMAND = $0112;

当用户选择窗口菜单的一条命令或当用户选择最大化或最小化时那个窗口会收到此消息

WM_TIMER = $0113; //发生了定时器事件

WM_HSCROLL = $0114;

当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件

WM_VSCROLL = $0115;

当一个窗口标准垂直滚动条产生一个滚动事件时发送此消息给那个窗口也,发送给拥有它的控件 WM_INITMENU = $0116;

当一个菜单将要被激活时发送此消息,它发生在用户菜单条中的某项或按下某个菜单键,它允许程序在显示前更改菜单

WM_INITMENUPOPUP = $0117;

当一个下拉菜单或子菜单将要被激活时发送此消息,它允许程序在它显示前更改菜单,而不要改变全部

WM_MENUSELECT = $011F;

当用户选择一条菜单项时发送此消息给菜单的所有者(一般是窗口)

WM_MENUCHAR = $0120;

当菜单已被激活用户按下了某个键(不同于加速键),发送此消息给菜单的所有者;

WM_ENTERIDLE = $0121;

当一个模态对话框或菜单进入空载状态时发送此消息给它的所有者,一个模态对话框或菜单进入空载状态就是在处理完一条或几条先前的消息后没有消息它的

列队中等待

WM_MENURBUTTONUP = $0122;

WM_MENUDRAG = $0123;

WM_MENUGETOBJECT = $0124;

WM_UNINITMENUPOPUP = $0125;

WM_MENUCOMMAND = $0126;

WM_CHANGEUISTATE = $0127;

WM_UPDATEUISTATE = $0128;

WM_QUERYUISTATE = $0129;

WM_CTLCOLORMSGBOX = $0132;

在windows绘制消息框前发送此消息给消息框的所有者窗口,通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置消息框的文本和背景颜色

WM_CTLCOLOREDIT = $0133;

当一个编辑型控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置编辑框的文本和背景颜色

WM_CTLCOLORLISTBOX = $0134;

当一个列表框控件将要被绘制前发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置列表框的文本和背景颜色

WM_CTLCOLORBTN = $0135;

当一个按钮控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置按纽的文本和背景颜色

WM_CTLCOLORDLG = $0136;

当一个对话框控件将要被绘制前发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置对话框的文本背景

颜色

WM_CTLCOLORSCROLLBAR= $0137;

当一个滚动条控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置滚动条的背景颜色

WM_CTLCOLORSTATIC = $0138;

当一个静态控件将要被绘制时发送此消息给它的父窗口;通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置静态控件的文本和背景颜色

WM_MOUSEFIRST = $0200;

WM_MOUSEMOVE = $0200;

// 移动鼠标

WM_LBUTTONDOWN = $0201;

//按下鼠标左键

WM_LBUTTONUP = $0202;

//释放鼠标左键

WM_LBUTTONDBLCLK = $0203;

//双击鼠标左键

WM_RBUTTONDOWN = $0204;

//按下鼠标右键

WM_RBUTTONUP = $0205;

//释放鼠标右键

WM_RBUTTONDBLCLK = $0206;

//双击鼠标右键

WM_MBUTTONDOWN = $0207;

//按下鼠标中键

WM_MBUTTONUP = $0208;

//释放鼠标中键

WM_MBUTTONDBLCLK = $0209;

//双击鼠标中键

WM_MOUSEWHEEL = $020A;

当鼠标轮子转动时发送此消息个当前有焦点的控件

WM_MOUSELAST = $020A;

WM_PARENTNOTIFY = $0210;

当MDI子窗口被创建或被销毁,或用户按了一下鼠标键而光标在子窗口上时发送此消息给它的父窗口

WM_ENTERMENULOOP = $0211;

发送此消息通知应用程序的主窗口that已经进入了菜单循环模式

WM_EXITMENULOOP = $0212;

发送此消息通知应用程序的主窗口that已退出了菜单循环模式

WM_NEXTMENU = $0213;

WM_SIZING = 532;

当用户正在调整窗口大小时发送此消息给窗口;通过此消息应用程序可以监视窗口大小和位置也可以修改他们

WM_CAPTURECHANGED = 533;

发送此消息给窗口当它失去捕获的鼠标时;

WM_MOVING = 534;

当用户在移动窗口时发送此消息,通过此消息应用程序可以监视窗口大小和位置也可以修改他们;

WM_POWERBROADCAST = 536;

此消息发送给应用程序来通知它有关电源管理事件;

WM_DEVICECHANGE = 537;

当设备的硬件配置改变时发送此消息给应用程序或设备驱动程序

WM_IME_STARTCOMPOSITION = $010D;

WM_IME_ENDCOMPOSITION = $010E;

WM_IME_COMPOSITION = $010F;

WM_IME_KEYLAST = $010F;

WM_IME_SETCONTEXT = $0281;

WM_IME_NOTIFY = $0282;

WM_IME_CONTROL = $0283;

WM_IME_COMPOSITIONFULL = $0284;

WM_IME_SELECT = $0285;

WM_IME_CHAR = $0286;

WM_IME_REQUEST = $0288;

WM_IME_KEYDOWN = $0290;

WM_IME_KEYUP = $0291;

WM_MDICREATE = $0220;

应用程序发送此消息给多文档的客户窗口来创建一个MDI 子窗口

WM_MDIDESTROY = $0221;

应用程序发送此消息给多文档的客户窗口来关闭一个MDI 子窗口

WM_MDIACTIVATE = $0222;

应用程序发送此消息给多文档的客户窗口通知客户窗口激活另一个MDI子窗口,

当客户窗口收到此消息后,它发出

WM_MDIACTIVE消息给MDI子窗口(未激活)激活它;

WM_MDIRESTORE = $0223;

程序发送此消息给MDI客户窗口让子窗口从最大最小化恢复到原来大小

WM_MDINEXT = $0224;

程序发送此消息给MDI客户窗口激活下一个或前一个窗口 WM_MDIMAXIMIZE = $0225;

程序发送此消息给MDI客户窗口来最大化一个MDI子窗口;

WM_MDITILE = $0226;

程序发送此消息给MDI客户窗口以平铺方式重新排列所有MDI子窗口

WM_MDICASCADE = $0227;

程序发送此消息给MDI客户窗口以层叠方式重新排列所有MDI子窗口

WM_MDIICONARRANGE = $0228;

程序发送此消息给MDI客户窗口重新排列所有最小化的MDI子窗口

WM_MDIGETACTIVE = $0229;

程序发送此消息给MDI客户窗口来找到激活的子窗口的句柄

WM_MDISETMENU = $0230;

程序发送此消息给MDI客户窗口用MDI菜单代替子窗口的菜单

WM_ENTERSIZEMOVE = $0231;

WM_EXITSIZEMOVE = $0232;

WM_DROPFILES = $0233;

WM_MDIREFRESHMENU = $0234;

WM_MOUSEHOVER = $02A1;

WM_MOUSELEAVE = $02A3;

WM_CUT = $0300;

程序发送此消息给一个编辑框或combobox来删除当前选择的文本

WM_COPY = $0301;

程序发送此消息给一个编辑框或combobox来复制当前选择的文本到剪贴板

WM_PASTE = $0302;

程序发送此消息给editcontrol或combobox从剪贴板中得到数据

WM_CLEAR = $0303;

程序发送此消息给editcontrol或combobox清除当前选择的内容;

WM_UNDO = $0304;

程序发送此消息给editcontrol或combobox撤消最后一次操作

WM_RENDERFORMAT = $0305;

WM_RENDERALLFORMATS = $0306;

WM_DESTROYCLIPBOARD = $0307;

当调用ENPTYCLIPBOARD函数时发送此消息给剪贴板的所有者

WM_DRAWCLIPBOARD = $0308;

当剪贴板的内容变化时发送此消息给剪贴板观察链的第一个窗口;它允许用剪贴板观察窗口来

显示剪贴板的新内容;

WM_PAINTCLIPBOARD = $0309;

当剪贴板包含CF_OWNERDIPLAY格式的数据并且剪贴板观察窗口的客户区需要重画;

WM_VSCROLLCLIPBOARD = $030A;

WM_SIZECLIPBOARD = $030B;

当剪贴板包含CF_OWNERDIPLAY格式的数据并且剪贴板观察窗口的客户区域的大小已经改变是此消息通过剪贴板观察窗口发送给剪贴板的所有者;

WM_ASKCBFORMATNAME = $030C;

通过剪贴板观察窗口发送此消息给剪贴板的所有者来请求一个

CF_OWNERDISPLAY格式的剪贴板的名字

WM_CHANGECBCHAIN = $030D;

当一个窗口从剪贴板观察链中移去时发送此消息给剪贴板观察链的第一个窗口;

WM_HSCROLLCLIPBOARD = $030E;

此消息通过一个剪贴板观察窗口发送给剪贴板的所有者;它发生在当剪贴板包含CFOWNERDISPALY格式的数据并且有个事件在剪贴板观察窗的水平滚动条上;所有者应滚动剪贴板图象并更新滚动条的值;

WM_QUERYNEWPALETTE = $030F;

此消息发送给将要收到焦点的窗口,此消息能使窗口在收到焦点时同时有机会实现他的逻辑调色板

WM_PALETTEISCHANGING= $0310;

当一个应用程序正要实现它的逻辑调色板时发此消息通知所有的应用程序

WM_PALETTECHANGED = $0311;

此消息在一个拥有焦点的窗口实现它的逻辑调色板后发送此消息给所有顶级并重叠的窗口,以此来改变系统调色板

WM_HOTKEY = $0312;

当用户按下由REGISTERHOTKEY函数注册的热键时提交此消息

WM_PRINT = 791;

应用程序发送此消息仅当WINDOWS或其它应用程序发出一个请求要求绘制一个应用程序的一部分;

WM_PRINTCLIENT = 792;

WM_HANDHELDFIRST = 856;

WM_HANDHELDLAST = 863;

WM_PENWINFIRST = $0380;

WM_PENWINLAST = $038F;

WM_COALESCE_FIRST = $0390;

WM_COALESCE_LAST = $039F;

WM_DDE_FIRST = $03E0;

WM_DDE_INITIATE = WM_DDE_FIRST + 0;

一个DDE客户程序提交此消息开始一个与服务器程序的会话来响应那个指定的程序和主题名;

WM_DDE_TERMINATE = WM_DDE_FIRST + 1;

一个DDE应用程序(无论是客户还是服务器)提交此消息来终止一个会话;

WM_DDE_ADVISE = WM_DDE_FIRST + 2;

一个DDE客户程序提交此消息给一个DDE服务程序来请求服务器每当数据项改变时更新它

WM_DDE_UNADVISE = WM_DDE_FIRST + 3;

一个DDE客户程序通过此消息通知一个DDE服务程序不更新指定的项或一个特殊的剪贴板格式的项

WM_DDE_ACK = WM_DDE_FIRST + 4;

此消息通知一个DDE(动态数据交换)程序已收到并正在处理WM_DDE_POKE, WM_DDE_EXECUTE, WM_DDE_DATA,

WM_DDE_ADVISE, WM_DDE_UNADVISE, or WM_DDE_INITIAT消息

WM_DDE_DATA = WM_DDE_FIRST + 5;

一个DDE服务程序提交此消息给DDE客户程序来传递个一数据项给客户或通知客户的一条可用数据项

WM_DDE_REQUEST = WM_DDE_FIRST + 6;

一个DDE客户程序提交此消息给一个DDE服务程序来请求一个数据项的值;

WM_DDE_POKE = WM_DDE_FIRST + 7;

一个DDE客户程序提交此消息给一个DDE服务程序,客户使用此消息来请求服务器接收一个未经同意的数据项;服务器通过答复WM_DDE_ACK消息提示是否它接收这个数据项;

WM_DDE_EXECUTE = WM_DDE_FIRST + 8;

一个DDE客户程序提交此消息给一个DDE服务程序来发送一个字符串给服务器让它象串行命令一样被处理,服务器通过提交

WM_DDE_ACK消息来作回应;

WM_DDE_LAST = WM_DDE_FIRST + 8;

WM_APP = $8000;

WM_USER = $0400;

此消息能帮助应用程序自定义私有消息;

/////////////////////////////////////////////////////////////////////

通知消息(Notification message)是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows 95公共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本、操作控件的滚动条都会产生通知消息。

按扭

B N _

C L I C K E

D //用户单击了按钮

B N _ D I S A B L E //按钮被禁止

B N _ D O U B L E

C L I C K E

D //用户双击了按钮

B N _ H I L I T E //用户加亮了按钮

B N _ PA I N T按钮应当重画

B N _ U N H I L I T E加亮应当去掉

组合框

C B N _ C L O S E U P组合框的列表框被关闭

C B N _

D B L C L K用户双击了一个字符串

C B N _

D R O P D O W N组合框的列表框被拉出

C B N _ E

D I T C H A N G E用户修改了编辑框中的文本C B N _

E D I T U P D AT E编辑框内的文本即将更新

C B N _ E R R S PA C E组合框内存不足

C B N _ K I L L F O C U S组合框失去输入焦点

C B N _ S E L C H A N G E在组合框中选择了一项

C B N _ S E L E N

D C A N C

E L用户的选择应当被取消C B N _ S E L E N D O K用户的选择是合法的

C B N _ S E T F O C U S组合框获得输入焦点

编辑框

E N _ C H A N G E编辑框中的文本己更新

E N _ E R R S PA C E编辑框内存不足

E N _ H S C R O L L用户点击了水平滚动条

E N _ K I L L

F O C U S编辑框正在失去输入焦点

E N _ M A X T E X T插入的内容被截断

E N _ S E T

F O C U S编辑框获得输入焦点

E N _ U P D AT E编辑框中的文本将要更新

E N _ V S C R O L L用户点击了垂直滚动条消息含义

列表框

L B N _ D B L C L K用户双击了一项

完美解决Windows 7更新失败

Windows 7实战经验:完美解决Windows 7更新失败(错误80070003)很多用户反映,为什么Windows 7的自动更新会出显未知错误,导致很多更新都不能正确安装?针对这个问题,在我对自己的Windows 7进行更新的时候,有时也会发生类似的问题,经过研究,已经完美解决,下面给大家解决方案! 如果在检查更新时收到Windows Update错误80070003,则需要删除Windows用于标识计算机更新的临时文件。若要删除临时文件,请停止Windows Update服务,删除临时更新文件,重新启动Windows Update服务,然后再次尝试检查Windows更新。 以下步骤为解决Windows 7更新错误方法,本博客亲测有效。 第一步:停止Windows Update服务的步骤 必须以管理员身份进行登录,才能执行这些步骤。 1.单击打开“管理工具(通过单击“开始”按钮,再依次单击“控制面板”,然后单击“管理工具”。 2.双击“服务”。如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。 3.单击“名称”列标题以逆序排列名称。找到“Windows Update”服务,右键单击该服务,然后单击“停止”。 第二步:删除临时更新文件的步骤 1.打开“计算机”。 2.双击安装Windows的本地硬盘(通常是驱动器C)。 3.双击Windows文件夹,然后双击SoftwareDistribution文件夹。 4.双击打开DataStore文件夹,然后删除该文件夹中的所有文件。如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。 5.单击“后退”按钮。在SoftwareDistribution文件夹中,双击打开Download文件夹,删除该文件夹中的所有文件,然后关闭窗口。如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。 第三步:重新启动Windows Update服务的步骤 必须以管理员身份进行登录,才能执行这些步骤。 1.单击打开“管理工具(方法同上)”。 2.双击“服务”。如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。

windows服务大全

windows服务大全 一、什么是系统服务 在Windows 2000/XP/2003系统中,服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。 服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。 二、配置和管理系统服务 通过上面的阅读,相信你已对Windows系统服务有所了解,与系统注册表类似,对系统服务的操作,我们可以通过“服务管理控制台”来实现。 以管理员或Administrators组成员身份登录,单击“开始→运行”菜单项,在出现的对话框中键入“Services.msc”并回车,即可打开“服务管理控制台”。你也可以单击“开始→控制面板→性能和维护→管理工具→服务”选项来启动该控制台。 在服务控制台中,双击任意一个服务,就可以打开该服务的属性对话框。在这里,我们可以对服务进行配置、管理操作,通过更改服务的启动类型来设置满足自己需要的启动、关闭或禁用服务。 在“常规”选项卡中,“服务名称”是指服务的“简称”,并且也是在注册表中显示的名称;“显示名称”是指在服务配置界面中每项服务显示的名称;“描述”是为该服务作的简单解释;“可执行文件的路

径”即是该服务对应的可执行文件的具体位置;“启动类型”是整个服务配置的核心,对于任意一个服务,通常都有3种启动类型,即自动、手动和已禁用。只要从下拉菜单中选择就可以更改服务的启动类型。“服务状态”是指服务的现在状态是启动还是停止,通常,我们可以利用下面的“启动”、“停止”、“暂停”、“恢复”按钮来改变服务的状态。 下面让我们来看看3种不同类型的启动状态: 自动:此服务随着系统启动时启动,它将延长启动所需要的时间,有些服务是必须设置为自动的,如Remote Procedure Call(RPC)。由于依存关系或其他影响,其他的一些服务也必须设置为自动,这样的服务最好不要去更改它,否则系统无法正常运行。 手动:如果一个服务被设置为手动,那么可以在需要时再运行它。这样可以节省大量的系统资源,加快系统启动。 已禁用:此类服务不能再运行。这个设置一般在提高系统安全性时使用。如果怀疑一个陌生的服务会给你的系统带来安全上的隐患,可以先尝试停止它,看看系统是否能正常运行,如果一切正常,那么就可以直接禁用它了。如果以后需要这个服务,在启动它之前,必须先将启动类型设置为自动或手动。 单击“依存关系”选项卡,在这里我们可以看到,在顶端列表中指出运行选定服务所需的其他服务,底端列表指出了需要运行选定服务才能正确运行的服务。它说明了一些服务并不能单独运行,必须依靠其他服务。在停止或禁用一个服务之前,一定要看看这个服务的依存关系,

C#开发WinForm中 Window 消息大全

北大青鸟中关村:C#开发WinForm中Window 消息大全 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。北大青鸟中关村:消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows 单元中是这样声明的: type TMsg = packed record hwnd: HWND; //窗口句柄message: UINT;//消息常量标识符wParam: WPARAM ;// 32位消息的特定附加信息lParam: LPARAM ;// 32位消息的特定附加信息time: DWORD;//消息创建时的时间pt: TPoint; //消息创建时的鼠标位置end ; 消息中有什么?是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。 lParam 通常是一个指向内存中数据的指针。由于WParam、lParam 和Pointer都是32位的,因此,它们之间可以相互转换。

public class WindowsMessage { public const int WM_NULL = 0x0000; // public const int WM_CREATE = 0x0001; //应用程序创建一个窗口 public const int WM_DESTROY = 0x0002; //一个窗口被销毁 public const int WM_MOVE = 0x0003; //移动一个窗口 public const int WM_SIZE = 0x0005; //改变一个窗口的大小 public const int WM_ACTIVATE = 0x0006; //一个窗口被激活或失去激活状态; public const int WM_SETFOCUS = 0x0007; //获得焦点后 public const int WM_KILLFOCUS = 0x0008; //失去焦点 public const int WM_ENABLE = 0x000A; //改变enable状态 public const int WM_SETREDRAW = 0x000B; //设置窗口是否能重画 public const int WM_SETTEXT = 0x000C; //应用程序发送此消息来设置一个窗口的文本 public const int WM_GETTEXT = 0x000D; //应用程序发送此消息来复制对应窗口的文本到缓冲区

Windows错误代码大全

WINDOWS XP的错误代码大全 0 0x0000 作业完成。 1 0x0001 不正确的函数。 2 0x0002 系统找不到指定的档案。 3 0x0003 系统找不到指定的路径。 4 0x0004 系统无法开启档案。 5 0x0005 拒绝存取。 6 0x0006 无效的代码。 7 0x0007 储存体控制区块已毁。 8 0x0008 储存体空间不足,无法处理这个指令。 9 0x0009 储存体控制区块位址无效。 10 0x000A 环境不正确。 11 0x000B 尝试载入一个格式错误的程式。 12 0x000C 存取码错误。 13 0x000D 资料错误。 14 0x000E 储存体空间不够,无法完成这项作业。 15 0x000F 系统找不到指定的磁碟机。 16 0x0010 无法移除目录。 17 0x0011 系统无法将档案移到其他的磁碟机。 18 0x0012 没有任何档案。 19 0x0013 储存媒体为防写状态。 20 0x0014 系统找不到指定的装置。 21 0x0015 装置尚未就绪。 22 0x0016 装置无法识别指令。 23 0x0017 资料错误(cyclic redundancy check) 24 0x0018 程式发出一个长度错误的指令。 25 0x0019 磁碟机在磁碟找不到持定的磁区或磁轨。 26 0x001A 指定的磁碟或磁片无法存取。 27 0x001B 磁碟机找不到要求的磁区。 28 0x001C 印表机没有纸。 29 0x001D 系统无法将资料写入指定的磁碟机。 30 0x001E 系统无法读取指定的装置。 31 0x001F 连接到系统的某个装置没有作用。 32 0x0020 The process cannot access the file because it is being used by another process. 33 0x0021 档案的一部份被锁定,现在无法存取。 34 0x0022 磁碟机的磁片不正确。请将%2 (V olume Serial Number: %3) 插入磁碟 机%1。 36 0x0024 开启的分享档案数量太多。 38 0x0026 到达档案结尾。 39 0x0027 磁碟已满。 50 0x0032 不支援这种网路要求。 51 0x0033 远端电脑无法使用。 52 0x0034 网路名称重复。

用C语言编写Windows服务程序的五个步骤

用C语言编写Windows服务程序的五个步骤 https://www.wendangku.net/doc/4f964806.html,/Article/kfyy/cyy/jszl/200603/3842.html Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件。最后,你可以用所学知识编写自己的 Windows 服务。 当初我写第一个NT 服务时,我到 MSDN 上找例子。在那里我找到了一篇Nigel Thompson 写的文章:“Creating a Simple Win32 Service in C++”,这篇文章附带一个 C++ 例子。虽然这篇文章很好地解释了服务的开发过程,但是,我仍然感觉缺少我需要的重要信息。我想理解通过什么框架,调用什么函数,以及何时调用,但 C++ 在这方面没有让我轻松多少。面向对象的方法固然方便,但由于用类对底层 Win32 函数调用进行了封装,它不利于学习服务程序的基本知识。这就是为什么我觉得 C 更加适合于编写初级服务程序或者实现简单后台任务的服务。在你对服务程序有了充分透彻的理解之后,用 C++ 编写才能游刃有余。当我离开原来的工作岗位,不得不向另一个人转移我的知识的时候,利用我用 C 所写的例子就非常容易解释 NT 服务之所以然。 服务是一个运行在后台并实现勿需用户交互的任务的控制台程序。Windows NT/2000/XP 操作系统提供为服务程序提供专门的支持。人们可以用服务控制面板来配置安装好的服务程序,也就是 Windows 2000/XP 控制面板|管理工具中的“服务”(或在“开始”|“运行”对话框中输入 services.msc /s——译者注)。可以将服务配置成操作系统启动时自动启动,这样你就不必每次再重启系统后还要手动启动服务。 本文将首先解释如何创建一个定期查询可用物理内存并将结果写入某个文本文件的服务。然后指导你完成生成,安装和实现服务的整个过程。 第一步:主函数和全局定义 首先,包含所需的头文件。例子要调用 Win32 函数(windows.h)和磁盘文件写入(stdio.h): 接着,定义两个常量:

Windows 事件ID及解释大全

Windows 事件ID及解释大全 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 网络很忙。

Windows错误代码大全

Windows错误代码大全 以下是为大家整理的windows错误代码大全的相关范文,本文关键词为windows,错误,代码,大全,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。 windows错误代码大全 30010x0bb9指定的打印机驱动程序当前正在使用。30020x0bbA 找不到缓冲文件。 30030x0bbb未发送startDocprinter调用。30040x0bbc未发送

AddJob调用。30050x0bbD指定的打印处理器已经安装。30060x0bbe 指定的打印监视器已经安装。 30070x0bbF该指定的打印监视器不具备所要求的功能。30080x0bc0该指定的打印监视器正在使用中。 30090x0bc1当打印机有作业排队时此操作请求是不允许的。30100x0bc2请求的操作成功。直到重新启动系统前更改将不会生效。30110x0bc3请求的操作成功。直到重新启动服务前更改将不会生效。30120x0bc4找不到打印机。 30130x0bc5已知打印机驱动程序不可靠。30140x0bc6已知打印机驱动程序会伤害系统。 30200x0bcc在%1上检测到电源中断。服务器已经暂停。30210x0bcD在%1的时候恢复供电。服务器恢复操作。30220x0bce因为电池快没电,所以ups服务会在%1关机。 30230x0bcF用户指定的关机命令文件的配置有问题。不过ups 服务已经启动。 30250x0bD1已经替换驱动器%1上损坏的扇区(即时修复)。没有丢失数据。您应该尽早运行 chKDsK,以便完全还原性能,并补充卷的备用扇区池。即时修复是在处理远程请求时进行的。30260x0bD2驱动器%1的hpFs卷上发生磁盘错误。错误是在处理远程请求时发生的。30270x0bD3用户帐户数据库(neT.Acc)已损坏。本地安全系统正在用在%2的%1上备份来替换损坏的neT.Acc。此刻之后对数据库的任何更改会全部丢失。

C#编写的windows服务用命令行安装的详细步骤

第一步:建立好服务,写好代码 第二步:安装 步骤:win+R -----→CMD -------输入microsoft的framework的相应版本的执行程序位置(如:C:\Windows\https://www.wendangku.net/doc/4f964806.html,\Framework\v4.0.30319\InstallUtil.exe -----图一所示文件)-→空一格再输入你的服务的执行文件的路径(如:D:\zt_documents\服务\SSY.DealerLoginStateService.root\SSY.DealerLoginStateService\SSY.LoginStateService\SSY.LoginSt ateService\bin\Debug\XX.exe(这里的.exe写自己的项目的名称) 图三所示文件)--→回车(如果安装成功可以都到如图2所示的提示)

图一

图二

图三 第三步:启动服务 打开服务管理,找到你自己的服务启动 第四步:卸载 步骤:win+R -----→CMD -------输入microsoft的framework的相应版本的执行程序位置(如:C:\Windows\https://www.wendangku.net/doc/4f964806.html,\Framework\v4.0.30319\InstallUtil.exe -u -----图一所示文件)-→空一格再输入-u -→空一格再输入你的服务的执行文件的路径(如:D:\zt_documents\服务\SSY.DealerLoginStateService.root\SSY.DealerLoginStateService\SSY.LoginStateService\SSY.LoginSt

Windows命令大全

windows运行命令大全winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 wscript Windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaacmgr 扫描仪和照相机向导 winchat xp自带局域网聊天 mem.exe 显示内存使用情况 msconfig.exe 系统配置实用程序 mplayer2 简易widnows media player mspaint 画图板 mstsc 远程桌面连接 mplayer2 媒体播放机 magnify 放大镜实用程序 mmc 打开控制台 mobsync 同步命令 dxdiag 检查directx信息 drwtsn32 系统医生 devmgmt.msc 设备管理器

dfrg.msc 磁盘碎片整理程序 diskmgmt.msc 磁盘管理实用程序 dcomcnfg 打开系统组件服务 ddeshare 打开dde共享设置 dvdplay dvd播放器 net stop messenger 停止信使服务 net start messenger 开始信使服务 notepad 打开记事本 nslookup 网络管理的工具向导 ntbackup 系统备份和还原 narrator 屏幕“讲述人” ntmsmgr.msc 移动存储管理器 ntmsoprq.msc 移动存储管理员操作请求 netstat -an (tc)命令检查接口 syncapp 创建一个公文包 sysedit 系统配置编辑器 sigverif 文件签名验证程序 sndrec32 录音机 shrpubw 创建共享文件夹 secpol.msc 本地安全策略 syskey 系统加密,一旦加密就不能解开,保护Windows xp系统的双重

windows错误代码

windows错误代码 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 指定的服务器无法运行请求的操作。 59 出现了意外的网络错误。 60 远程适配器不兼容。 61 打印机队列已满。 62 服务器上没有储存等待打印的文件的空间。 63 已删除等候打印的文件。 64 指定的网络名不再可用。 65 拒绝网络访问。 66 网络资源类型不对。 67 找不到网络名。 68 超出本地计算机网络适配器卡的名称限制。 69 超出了网络BIOS 会话限制。 70 远程服务器已暂停,或正在启动过程中。 71 已达到计算机的连接数最大值,无法再同此远程计算机连接。 72 已暂停指定的打印机或磁盘设备。 80 文件存在。 82 无法创建目录或文件。 83 INT 24 上的故障。 84 无法取得处理此请求的存储空间。 85 本地设备名已在使用中。 86 指定的网络密码不正确。 87 参数不正确。 88 网络上发生写入错误。 89 系统无法在此时启动另一个进程。 100 无法创建另一个系统信号灯。 101 另一个进程拥有独占的信号灯。 102 已设置信号灯,无法关闭。 103 无法再设置信号灯。 104 无法在中断时请求独占的信号灯。 105 此信号灯的前一个所有权已结束。 107 由于没有插入另一个软盘,程序停止。 108 磁盘在使用中,或被另一个进程锁定。 109 管道已结束。 110 系统无法打开指定的设备或文件。 111 文件名太长。 112 磁盘空间不足。 113 没有更多的内部文件标识符。 114 目标内部文件标识符不正确。

Windows服务

Windows 服务应用程序介绍 Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。有关服务和 Windows 会话的更多信息,请参见MSDN Online 的 Platform SDK 文档中的“About Services”部分。 注意Windows 服务应用程序项目模板和相关的功能在 Visual Basic 和 Visual C# .NET 的标准版中不可用。有关更多信息,请参见Visual Basic 标准版功能或Visual C# 标准版的功能。 通过创建作为服务安装的应用程序,可以轻松地创建服务。例如,假设要监视性能计数器数据并对阈值做出反应。可以编写一个侦听性能计数器数据的 Windows 服务应用程序、部署该应用程序并开始收集和分析数据。 将服务创建为 Microsoft Visual Studio .NET 项目,并在其中定义特定代码,以控制可以发送到服务的命令和接收到这些命令时采取的操作。可以发送到服务的命令包括开始、暂停、继续和停止该服务,以及执行自定义命令。 创建并生成了应用程序后,可以通过运行命令行实用工具InstallUtil.exe 并将路径传递给服务的可执行文件,或通过使用 Visual Studio 的部署功能来安装该应用程序。然后可以使用服务控制管理器启动、停止、暂停、继续和配置服务。这些任务中有许多也可以在“服务器资源管理器”的“服务”节点中或通过使用ServiceController类来实现。 服务应用程序与其他 Visual Studio .NET 应用程序对比 服务应用程序与其他许多项目类型的功能在几个方面有所不同: ?必须将服务应用程序项目创建的已编译可执行文件安装在服务器上,此项目才能以有意义的方式运行。不能通过按 F5 键或 F11 键来调试或运行服务应 用程序;不能立即运行服务或进入并单步执行其代码。相反,必须安装和启动服务,然后将一个调试器附加到服务的进程中。有关更多信息,请参见调试 Windows 服务应用程序。 ?与一些类型的项目不同,对于服务应用程序,必须为其创建安装组件。安装组件在服务器上安装和注册服务,并用 Windows 服务控制管理器为服务创 建一个项。有关更多信息,请参见将安装程序添加到服务应用程序。

Windows错误代码解释大全

遇到什么错误了就找找,应该会有帮助的。 6001 0x1771 指定的文件无法解密。 6002 0x1772 指定的文件已加密,而且用户没有能力解密。 6003 0x1773 这个系统没有有效的加密恢复策略配置。 6004 0x1774 所需的加密驱动程序并未加载到系统中。 6005 0x1775 文件加密所使用的加密驱动程序与目前加载的加密驱动程序不同。 6006 0x1776 没有为用户定义EFS 关键字。 6007 0x1777 指定的文件并未加密。 6008 0x1778 指定的文件不是定义的EFS 导出格式。 6009 0x1779 指定的文件是只读文件。 6010 0x177A 已为加密而停用目录。 6011 0x177B 不信任服务器来进行远程加密操作。 6012 0x177C 为此系统配置的恢复策略包含无效恢复证书。 6013 0x177D 用在此源文件上的加密算法需要比目标文件上更大的密钥缓冲区。 6014 0x177E 磁盘分区不支持文件加密。 6015 0x177F 这台机器已为文件加密而停用。 6016 0x1780 需要一个更新的系统来解密此加密文件。 6118 0x17E6 此工作组的服务器列表当前无法使用 6200 0x1838 要正常运行,任务计划程序服务的配置必须在系统帐户中运行。单独的任务可以被配 置成在其他帐户中运行。 6600 0x19C8 日志服务遇到无效日志扇区。 6601 0x19C9 日志服务遇到块校验无效的日志扇区。 6602 0x19CA 日志服务遇到重映射的日志扇区。 6603 0x19CB 日志服务遇到部分或未完成的日志块。 6604 0x19CC 日志服务遇到错误,原因:试图访问活动日志范围外的数据。 6605 0x19CD 日志服务用户排列缓冲区已用尽。 6606 0x19CE 日志服务遇到错误,原因:试图从读取上下文无效的排列区读取。 6607 0x19CF 日志服务遇到无效日志重新启动区域。 6608 0x19D0 日志服务遇到无效日志块版本。 6609 0x19D1 日志服务遇到无效日志块。 6610 0x19D2 日志服务遇到错误,原因:试图以无效读取模式读取。 6611 0x19D3 日志服务遇到错误,原因:日志流没有重启动区。 6612 0x19D4 日志服务遇到损坏的元数据文件。 6613 0x19D5 日志服务遇到无法由日志文件系统创建的元数据文件。 6614 0x19D6 日志服务遇到数据不一致的元数据文件。 6615 0x19D7 日志服务遇到错误,原因:试图分配和排列保留空间。 6616 0x19D8 BITS 报告计划下载已经失败了%2 次。原因是: %1。日志服务无法删除日志文件或 文件系统容器。 6617 0x19D9 日志已经达到允许分配给日志文件的容器的上限。 6618 0x19DA 日志服务试图读取或写入日志开始之前的位置。

C# Windows服务开发

一、VS2012下开发Windows服务 1、打开VS2012,新建项目,选择Windows服务,此处我以开发一个定时自动发送邮件的服务来做介绍,如下图: 2、创建好后,编译器会自动创建一些文件,其中会有一个Service1类文件,该文件是服务的关键,我们可以将其重命名,这里我将其命名为MainService,如下图: 3、在MainService的后台代码中会自动创建一些方法,包括服务的启动和停止方法等,如下图:

4、将服务启动时要执行的操作放在OnStart方法中,服务停止时要执行的操作放在OnStop方法中 5、在MainService.cs设计器中,单击邮件,选择选择添加安装程序,便会生成一个ProjectInstaller.cs的文件,如图所示: 6、设置ProjectInstaller.cs的属性,切换到属性设置界面 (1)选择serviceInstaller1,并设置相应属性如下图所示:

其中:Description属性用于设置服务安装之后再服务界面上显示的描述信息; DisplayName属性用于设置服务安装之后再服务界面上显示的服务名称; ServiceName属性用于设置服务的名称,此名称必须与ServiceBase类的ServiceName 属性设置的名称一致,该名称用于系统标识此服务,可以理解成DisplayName为ServiceName的别名; StartType属性用于设置服务的启动方式。 (2)选择serviceProcessInster1,设置其属性如下:

此处主要设置Account属性,该属性用来指示运行该服务时的账户类型,一般设置为LocalSystem。 7、到此步一个简单的windows服务就创建好了,编译程序会生成一个EmailService.exe 的可执行文件,接下来便是安装服务了。 Windows服务的安装有多种方式,比如可以再cmd下调用命令来安装,也可以写一个安装程序来安装,此处介绍使用bat批处理来安装。 1、安装Windows服务需要用到InstallUtil.exe程序,该程序位于: C:\Windows\https://www.wendangku.net/doc/4f964806.html,\Framework64\v4.0.30319 .NET4.0 C:\Windows\https://www.wendangku.net/doc/4f964806.html,\Framework64\v2.0.50727 .NET2.0 2、我们可以再批处理命令中直接调用以上目录中的InstallUtil.exe程序,也可以将该程序拷贝到应用程序的目录下,此处我选择奖该程序拷贝到应用程序的目录下,同时将批处理文件也创建在应用程序的的目录下,如下图所示:

Windows服务开发实例

C#Windows服务程序开发实例介绍 C#Windows服务程序开发实例程序的目的和用途: 很多开机启动程序仅仅加在启动项里面,只有登陆后才真正启动。windows服务在开机未进行用户登录前就启动了。正是利用这一点,解决一些服务器自动重启后特定软件也自动启动的问题。 C#Windows服务程序开发1. 新建一个服务项目 visual C#----windows----windows服务; C#Windows服务程序开发2. 添加一个dataset(.xsd),用于存储启动目标的路径,日志路径等。 在dataset可视化编辑中,添加一个datatable,包含两列 StartAppPath 和LogFilePath。分别用于存储目标的路径、日志路径。 我认为利用dataset.xsd存储配置参数的优势在于可以忽略xml解析的具体过程直接使用xml文件。 在dataset中提供了ReadXml方法用于读取xml文件并将其转换成内存中的一张datatable表,数据很容易取出来!同样,WriteXml方法用于存储为xml格式的文件,也仅仅需要一句话而已。 C#Windows服务程序开发3. program.cs文件作为程序入口,代码如下: https://www.wendangku.net/doc/4f964806.html,ing ; https://www.wendangku.net/doc/4f964806.html,ing System.ServiceProcess; https://www.wendangku.net/doc/4f964806.html,ing System.Text; https://www.wendangku.net/doc/4f964806.html,space WindowsServices_AutoStart 5.{ 6.static class Program 7.{ 8./// ﹤summary﹥ 9./// 应用程序的主入口点。 10./// ﹤/summary﹥ 11.static void Main() 12.{ 13.ServiceBase[] ServicesToRun;

WINDOWS中CMD命令大全(可直接打印)

开始→运行→输入的命令集锦 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板 winmsd---------系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------XP自带局域网聊天 mem.exe--------显示内存使用情况 Msconfig.exe---系统配置实用程序 mplayer2-------简易widnows media player mspaint--------画图板 mstsc----------远程桌面连接 mplayer2-------媒体播放机 magnify--------放大镜实用程序 mmc------------打开控制台 mobsync--------同步命令 dxdiag---------检查DirectX信息 drwtsn32------ 系统医生 devmgmt.msc--- 设备管理器 dfrg.msc-------磁盘碎片整理程序 diskmgmt.msc---磁盘管理实用程序 dcomcnfg-------打开系统组件服务 ddeshare-------打开DDE共享设置 dvdplay--------DVD播放器 net stop messenger-----停止信使服务 net start messenger----开始信使服务 notepad--------打开记事本 nslookup-------网络管理的工具向导 ntbackup-------系统备份和还原 narrator-------屏幕“讲述人” ntmsmgr.msc----移动存储管理器 ntmsoprq.msc---移动存储管理员操作请求 netstat -an----(TC)命令检查接口 syncapp--------创建一个公文包 sysedit--------系统配置编辑器 sigverif-------文件签名验证程序 sndrec32-------录音机 shrpubw--------创建共享文件夹 secpol.msc-----本地安全策略 syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 services.msc---本地服务设置Sndvol32-------音量控制程序 sfc.exe--------系统文件检查器 sfc /scannow---windows文件保护 tsshutdn-------60秒倒计时关机命令 tourstart------xp简介(安装完成后出现的漫游xp程序)taskmgr--------任务管理器 eventvwr-------事件查看器 eudcedit-------造字程序 explorer-------打开资源管理器 packager-------对象包装程序 perfmon.msc----计算机性能监测程序 progman--------程序管理器 regedit.exe----注册表 rsop.msc-------组策略结果集 regedt32-------注册表编辑器 rononce -p ----15秒关机 regsvr32 /u *.dll----停止dll文件运行 regsvr32 /u zipfldr.dll------取消ZIP支持 cmd.exe--------CMD命令提示符 chkdsk.exe-----Chkdsk磁盘检查 certmgr.msc----证书管理实用程序 calc-----------启动计算器 charmap--------启动字符映射表 cliconfg-------SQL SERVER 客户端网络实用程序 Clipbrd--------剪贴板查看器 conf-----------启动netmeeting compmgmt.msc---计算机管理 cleanmgr-------垃圾整理 ciadv.msc------索引服务程序 osk------------打开屏幕键盘 odbcad32-------ODBC数据源管理器 oobe/msoobe /a----检查XP是否激活 lusrmgr.msc----本机用户和组 logoff---------注销命令 iexpress-------木马捆绑工具,系统自带 Nslookup-------IP地址侦测器 fsmgmt.msc-----共享文件夹管理器 utilman--------辅助工具管理器 sndrec32-------录音机 Nslookup-------IP地址侦测器 explorer-------打开资源管理器 logoff---------注销命令 tsshutdn-------60秒倒计时关机命令 lusrmgr.msc----本机用户和组

windows中的各种错误

一、BIOS中的提示信息 提示信息说明 Drive A error 驱动器A错误 System halt 系统挂起 Keyboard controller error 键盘控制器错误 Keyboard error or no keyboard present 键盘错误或者键盘不存在 BIOS ROM checksum error BIOS ROM 校验错误 Single hardisk cable fail 当硬盘使用Cable选项时硬盘安装位置不正确FDD Controller Failure BIOS 软盘控制器错误 HDD Controller Failure BIOS 硬盘控制器错误 Driver Error 驱动器错误 Cache Memory Bad, Do not Enable Cache 高速缓存Cache损坏,不能使用Error: Unable to control A20 line 错误提示:不能使用A20地址控制线Memory write/Read failure 内存读写失败 Memory allocation error 内存定位错误 CMOS Battery state Low CMOS没电了 Keyboard inte***ce error 键盘接口错误 Hard disk drive failure 加载硬盘失败 Hard disk not present 硬盘不存在 Floppy disk(s) fail (40) 软盘驱动器加载失败,一般是数据线插反,电源线没有插接,CMOS内部软驱设置错误 CMOS checksum error-efaults loaded. CMOS校验错误,装入缺省(默认)设置 二、BIOS刷新失败后,Bootblock启动时出现的提示信息 提示信息说明 Detecting floppy drive A media... 检测软驱A的格式 Drive media is : 1.44Mb1.2Mb 720Kb 360K 驱动器格式是1.44Mb、12Mb、720kb、360kb的一种 DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER 磁盘引导失败,插入系统盘后按任意键继续 三、MBR主引导区提示信息 提示信息说明 Invalid partition table 无效的分区表 Error loading operating sy stem 不能装入引导系统 Missing operating system 系统引导文件丢失 说明:如果在计算机启动过程中,在硬件配置清单下方(也就时在平时正常启动时出现Starting Windows 98…的地方)出现不可识别字符,此时可判断硬盘分区表损坏。如果你的硬盘上有重要资料,这时你不要轻易进行分区,可找专业的数据恢复公司。 四、DOS活动分区中的提示信息 提示信息说明 Invalid system disk 无效的系统盘

Windows服务编写原理及探讨

Windows服务编写原理及探讨 有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。 (一)服务的基础知识 Question 1. 什么是服务?它的特征是什么? 在NT/2000中,服务是一类受到操作系统优待的程序。一个服务首先是一个Win32可执行程序,如果要写一个功能完备且强大的服务,需要熟悉动态连接库(Dlls)、结构异常处理、内存映射文件、虚拟内存、设备I/O、线程及其同步、Unicode以及其他的由WinAPI函数提供的应用接口。当然本文讨论的只是建立 一个可以安装、运行、启动、停止的没有任何其他功能的服务,所以无需上述知识仍可以继续看下去,我会在过程中将理解本文所需要的知识逐一讲解。 第二要知道的是一个服务决不需要用户界面。大多数的服务将运行在那些被锁在某些黑暗的,冬暖夏凉的小屋子里的强大的服务器上面,即使有用户界面一般也没有人可以看到。如果服务提供任何用户界面如消息框,那么用户错过这些消息的可能性就极高了,所以服务程序通常以控制台程序的形式被编写,进 入点函数是main()而不是WinMain()。 也许有人有疑问:没有用户界面的话,要怎样设置、管理一个服务?怎样开始、停止它?服务如何发出警告或错误信息、如何报告关于它的执行情况的统计数据?这些问题的答案就是服务能够被远程管理, Windows NT/2000提供了大量的管理工具,这些工具允许通过网络上的其它计算机对某台机器上面的服务进行管理。比如Windows 2000里面的“控制台”程序(mmc.exe),用它添加“管理单元”就可以管理本机或其他机器上的服务。

相关文档