windows音讯机制详解,二、音讯的概念
Windows音讯机制是Windows操作体系中用于应用程序之间以及应用程序与操作体系之间进行通讯的一种机制。以下是Windows音讯机制的详解:
1. 音讯的界说: 音讯是Windows操作体系用来传递信息的一种数据结构。它包括了一个音讯标识符(如WM_PAINT、WM_KEYDOWN等)和一个或多个参数,用于指定音讯的来历、意图和内容。
2. 音讯的分类: 体系音讯:由操作体系生成并发送给应用程序的音讯,如WM_QUIT、WM_DESTROY等。 用户音讯:由应用程序自界说并发送给其他窗口的音讯,如WM_USER 1、WM_USER 2等。 鼠标音讯:与鼠标操作相关的音讯,如WM_MOUSEMOVE、WM_LBUTTONDOWN等。 键盘音讯:与键盘操作相关的音讯,如WM_KEYDOWN、WM_KEYUP等。 鼠标滚轮音讯:与鼠标滚轮操作相关的音讯,如WM_MOUSEWHEEL等。 焦点音讯:与窗口焦点改变相关的音讯,如WM_SETFOCUS、WM_KILLFOCUS等。 绘图音讯:与窗口绘图相关的音讯,如WM_PAINT、WM_ERASEBKGND等。 计时器音讯:与计时器相关的音讯,如WM_TIMER等。 菜单音讯:与菜单操作相关的音讯,如WM_COMMAND、WM_INITMENU等。
3. 音讯的发送和接纳: 音讯的发送:应用程序能够经过调用SendMessage、PostMessage等函数发送音讯。 音讯的接纳:应用程序能够经过处理音讯循环(如WinMain函数中的音讯循环)来接纳和处理音讯。
4. 音讯的处理: 音讯处理函数:每个窗口都有一个音讯处理函数,用于处理发送给该窗口的音讯。音讯处理函数通常以WndProc命名,并具有特定的参数和返回值。 音讯映射:在窗口类中,能够运用音讯映射宏(如BEGIN_MESSAGE_MAP、END_MESSAGE_MAP)来界说音讯处理函数与音讯之间的映射联系。
5. 音讯的传递: 音讯传递机制:当应用程序发送一个音讯时,操作体系会将其放入音讯行列中。应用程序的音讯循环会从音讯行列中取出音讯,并调用相应的音讯处理函数进行处理。 音讯传递规矩:音讯的传递遵从必定的规矩,如音讯优先级、音讯过滤等。例如,WM_PAINT音讯具有较高的优先级,通常会先于其他音讯进行处理。
6. 音讯的截获: 音讯截获机制:在某些情况下,应用程序或许需求截获特定的音讯,以便在音讯抵达方针窗口之前进行处理。这能够经过调用SetWindowLong、AddMessageFilter等函数来完结。
7. 音讯的转发: 音讯转发机制:在某些情况下,应用程序或许需求将接纳到的音讯转发给其他窗口。这能够经过调用SendMessage、PostMessage等函数来完结。
8. 音讯的同步: 音讯同步机制:在某些情况下,应用程序或许需求保证音讯的同步处理。这能够经过调用WaitMessage、PeekMessage等函数来完结。
9. 音讯的推迟: 音讯推迟机制:在某些情况下,应用程序或许需求推迟处理特定的音讯。这能够经过调用PostMessage、SetTimer等函数来完结。
10. 音讯的过滤: 音讯过滤机制:在某些情况下,应用程序或许需求对接纳到的音讯进行过滤,以便只处理特定的音讯。这能够经过调用AddMessageFilter、RemoveMessageFilter等函数来完结。
Windows音讯机制详解
Windows操作体系是一个音讯驱动的体系,音讯机制是其中心组成部分。音讯机制担任应用程序之间、应用程序与Windows体系之间的通讯。了解Windows音讯机制关于深化把握Windows编程至关重要。
二、音讯的概念
音讯是Windows操作体系中用于传递信息的载体。当用户进行操作,如点击鼠标、按下键盘等,Windows会将这些操作转换为特定的音讯,并将这些音讯放入应用程序的音讯行列中。应用程序经过处理这些音讯来完结相应的功用。
三、音讯的类型
Windows音讯首要分为以下几类:
窗口音讯:由操作体系和操控其他窗口的窗口所运用的音讯。
指令音讯:处理从一个窗口发送到另一个窗口的用户恳求,例如按下一个按钮。
控件告诉音讯:一个窗口内的子控件发生了一些工作,需求告诉父窗口的音讯。
四、音讯行列
Windows为每个应用程序保护一个音讯行列,用于存储待处理的音讯。音讯行列选用先进先出的准则,保证音讯依照抵达次序进行处理。
五、音讯的发送与接纳
音讯能够经过以下几种方法发送和接纳:
PostMessage:将音讯放入方针窗口的音讯行列中,但不当即处理。
SendMessage:将音讯放入方针窗口的音讯行列中,并等候音讯处理完结。
GetMessage:从音讯行列中获取并处理音讯。
PeekMessage:从音讯行列中获取音讯,但不当即处理。
六、音讯的处理
应用程序经过窗口进程(Window Procedure)来处理音讯。窗口进程是一个函数,用于处理特定类型的音讯。当音讯抵达应用程序时,Windows会调用相应的窗口进程来处理该音讯。
七、音讯结构体
音讯结构体(MSG)包括以下信息:
hwnd:承受该音讯的窗口句柄。
message:音讯常量标识符,即音讯号。
wParam:32位音讯的特定附加信息。
lParam:32位音讯的特定附加信息。
time:音讯创立时的时刻。
pt:音讯创立时的鼠标/光标在屏幕坐标系中的方位。
八、音讯循环
音讯循环是Windows应用程序的中心。在音讯循环中,应用程序不断从音讯行列中获取音讯,并调用相应的窗口进程进行处理。当接纳到WM_QUIT音讯时,应用程序退出音讯循环,程序完毕。
九、音讯死锁
音讯死锁是指应用程序在处理音讯时,因为某些原因导致音讯无法被处理,然后构成死循环。为了防止音讯死锁,应用程序应保证音讯能够被及时处理。
Windows音讯机制是Windows操作体系的中心组成部分,关于Windows编程至关重要。经过了解音讯机制,咱们能够更好地把握Windows编程,开宣布功用强大、功能安稳的Windows应用程序。
相关
-
linux下的虚拟机,什么是Linux下的虚拟机?详细阅读
1.VirtualBox:一款开源的虚拟化软件,支撑在Linux、Windows和macOS上运转。它答运用户在主机上创立和办理多个虚拟机,每个虚拟机能够运转不同的操作体系。...
2025-01-15 0
-
不激活windows10去水印,电脑右下角显现激活windows怎样去掉详细阅读
不激活Windows10去水印的有用办法在Windows10体系中,许多用户或许会遇到右下角呈现“未激活Windows”的水印,这不只影响漂亮,还或许给用户带来不必要的困扰...
2025-01-15 0
-
linux就该这样学,轻松把握Linux技术的诀窍详细阅读
《Linux就该这么学》是一本合适Linux技术入门的自学教程,由刘遄编写,人民邮电出书社出书。以下是关于这本书的详细信息:书本简介《Linux就该这么学》分为多个版别,最新...
2025-01-15 0
-
linux回来根目录,什么是根目录?详细阅读
在Linux体系中,回来根目录能够运用`cd/`指令。这个指令会改动当时的作业目录到根目录(/)。在大多数情况下,你能够在指令行界面输入这个指令,然后按回车键履行。Linux...
2025-01-15 0
-
鸟哥的linux私房菜服务器架起篇,浅显易懂鸟哥的Linux私房菜服务器架起篇——从根底到实践详细阅读
《鸟哥的Linux私房菜:服务器架起篇》是学习Linux服务器架起的经典书本,特别合适初学者和有必定根底的用户。以下是关于这本书的一些具体信息:书本简介《鸟哥的Linux私...
2025-01-15 0
-
windows体系补丁,Windows体系补丁的重要性与更新办法详细阅读
Windows体系补丁的更新和装置办法有很多种,以下是几种常见的办法:1.经过Windows设置主动更新过程:1.按下键盘上的“WinI”快捷键,翻开Wind...
2025-01-15 0
-
嵌入式网络,技能开展与使用远景详细阅读
嵌入式网络一般指的是将网络功用集成到嵌入式体系中的技能。嵌入式体系是一种专用的核算机体系,它一般被规划用于特定的使命,而且具有有限的资源,如处理器、内存和动力。嵌入式网络技能使...
2025-01-15 0
-
linux中awk, awk指令简介详细阅读
`awk`是一种强壮的文本处理东西,常用于处理数据文件。它支撑正则表达式,能够轻松地处理文本数据。在Linux体系中,`awk`是一个十分常用的指令行东西,能够用于多种...
2025-01-15 0
-
linux指令行大全pdf,Linux指令行大全PDF——Linux用户必备的有用攻略详细阅读
你能够在以下网站找到《Linux指令行大全》PDF文件的下载1.码农书本网:供给《Linux指令行大全第2版》PDF电子书的下载,文件巨细为38MB。你能够经过以下链接拜访...
2025-01-15 0
-
windows7的操作体系,回忆与展望详细阅读
1.用户界面:Windows7采用了改善的Aero界面,包含半透明窗口、窗口缩略图预览和改善的任务栏。任务栏上的图标可以自定义,而且可以快速拜访常用程序和文件。2.功用提...
2025-01-15 0