在Windows程序中,消息是由MSG结构体来表示的。MSG结构体的定义如下(参见MSDN): typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG; 该结构体中各成员变量的含义如下:第一个成员变量hwnd表示消息所属的窗口。我们通常开发的程序都是窗口应用程序,一个消息一般都是与某个窗口相关联的。例如,在某个活动窗口中按下鼠标左键,产生的按键消息就是发给该窗口的。在Windows程序中,用HWND类型的变量来标识窗口。 第二个成员变量message指定了消息的标识符。在Windows中,消息是由一个数值来表示的,不同的消息对应不同的数值。但是由于数值不便于记忆,所以Windows将消息对应的数值定义为WM_XXX宏(WM是WindowMessage的缩写)的形式,XXX对应某种消息的英文拼写的大写形式。例如,鼠标左键按下消息是WM_LBUTTONDOWN,键盘按下消息是WM_KEYDOWN,字符消息是WM_CHAR,等等。在程序中我们通常都是以WM_XXX宏的形式来使用消息的。第三、第四个成员变量wParam和lParam,用于指定消息的附加信息。例如,当我们收到一个字符消息的时候,message成员变量的值就是WM_CHAR,但用户到底输入的是什么字符,那么就由wParam和lParam来说明。wParam、lParam表示的信息随消息的不同而不同。如果想知道这两个成员变量具体表示的信息,可以在MSDN中关于某个具体消息的说明文档查看到。读者可以在VC++的开发环境中通过gotodefinition查看一下WPARAM和LPARAM这两种类型的定义,可以发现这两种类型实际上就是unsignedint和long。 最后两个变量分别表示消息投递到消息队列中的时间和鼠标的当前位置。 附MSDN注释: hwnd : Identifies the window whose window procedure receives themessage. message : Specifies the message number. wParam : Specifies additional information about the message. Theexact meaning depends on the value of the message member. lParam : Specifies additional information about the message. Theexact meaning depends on the value of the message member. time : Specifies the time at which the message was posted. pt : Specifies the cursor position, in screen coordinates, whenthe message was posted. |
MSG消息结构 msg结构体
更多阅读
phpstorm快捷键 phpstorm显示行号
Ctrl + Shift + Enter 添加完成标识符Ctrl + P 显示参数信息Ctrl + Q 快速查找函数文档Ctrl + mouse 快速跳转到当前鼠标代码的源出处Alt + Insert 快速添加魔术方法Ctrl + O 选中并重写当前类的一个方法Ctrl + I 实现一个魔术方法C
VC++主程序与DLL共享内存数据CreateFileMappingOpenFileMapping openfilemapping 失败
VC++ 主程序与DLL共享内存数据的实现主程序和DLL均定义要共享的数据结构体typedef struct _TagShareMem{char szSendCOM[10];char szReceviceCOM[10];char szTester[10];}TShareMem;
linux中socket编程中使用send发送结构体小结 c socket 结构体
客套话不说了:socket中的send函数可以发送字符串,不能直接发送结构体,自己理解:结构体即内存中一段连续的内存,这样send中可以发送结构体指针 上代码:代码功能:客户端发送给服务端一个结构体,服务端返回客户端一字符串客户端代码 client.
mjpeg-streamer源码分析 mjpeg streamer
M-JPEG是一种基于静态图像压缩技术JPEG发展起来的动态图像压缩技术,可以生成序列化的运动图像。其主要特点是基本不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩,其压缩倍数为20~80倍,适合静态画面的压缩,分辨率可从352×288到7
转 slice_header header 跳转
http://blog.sina.com.cn/s/blog_4171e65d0100o4pt.htmlT264_slice_t结构体中的字段是要写入编码的码流供解码器取得参数1.结构体typedef struct{int32_t first_mb_in_slice; //一般为0,一个slice为一帧图像,所以为0first_mb_in_sli