实验十 Windows中的消息机制
一、实验目的
1、掌握操作系统中消息的概念。 2、理解消息机制的实现。
3、掌握Windows中消息的操作函数。
二、实验理论基础及教材对应关系
1、操作系统中消息的概念和作用。 2、操作系统的内存管理。
3、本实验内容主要对应于教材第2、3、4章。
三、实验内容与步骤
1、通过应用程序观察消息在进程中的传递,同时运行两个“CopyData.exe”应用程序,下面界面所示:
图1、进程 A 的运行界面
图2、进程 B 的运行界面
2、点击进程A的“Send Data1to other windows”按钮,可以看到“Data1”数据发送到了进程B的信息框内了。点击进程A的“Send Data2 to other windows”,数
据将发到进程B的第二个信息框内。同样,操作进程B的按钮,具有类似的效果。 3、实验用到的主要API函数和结构:
(1)、功能:寻找参数lpszClass所指定的窗口,由于进程A、B之间相互发现对方。
HWND FindWindowEx(
HWND hwndParent,
);
(2)、功能:发送消息给其他窗口:
LRESULT SendMessage(
);
(3)、进程间通过WM_COPYDATA消息进程数据传输用到的结构体:
typedef struct tagCOPYDATASTRUCT {
ULONG_PTR dwData; DWORD cbData; PVOID lpData; HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam HWND hwndChildAfter, LPCTSTR lpszClass, LPCTSTR lpszWindow
} COPYDATASTRUCT, *PCOPYDATASTRUCT;
4、看懂源代码,自己实现类似的功能。
四、实验材料的提交与成绩评定
1、本实验的实验报告一份(电子版或纸质版一份,具体形式由任课教师确定,格式参考学院统一实验报告)
2、实验源程序一份,请表明题号(电子版)
备注:做下一次实验之时提交上一次实验的材料,由各班学习委员以班为单位收集并上交任课教师。
3、实验成绩总分为10分,由指导老师根据学生实验表现和实验材料进行评定,本门课程结束后实验平均成绩(实验总成绩/实验次数)按照10%的比例记入期末考试总成绩。