MFC扩展编程:消息与通信、多任务处理实例解析

需积分: 0 0 下载量 35 浏览量 更新于2024-09-20 收藏 890KB PDF 举报
"Visual C++ MFC扩展编程实例深入讲解" 在MFC(Microsoft Foundation Classes)框架下,开发者不仅可以创建丰富的用户界面,还可以利用其提供的类库处理应用程序的后台任务,如文件操作、定时事件和多任务等。MFC并非仅仅局限于界面设计,它同样包含了对非界面功能的强大支持。 第13章“消息和通信”主要探讨的是应用程序内部和外部的数据交换。通常,我们使用消息队列来处理窗口消息,但MFC提供了更多与外部世界通信的途径,包括Windows套接字(Sockets)和低级串行I/O。这一章通过具体的实例展示了这些通信方式的应用: - 实例47展示了如何等待特定消息。在该实例中,应用程序会暂停执行,直到接收到用户输入(如鼠标点击或键盘按键)的新消息才继续运行。这涉及到MFC的消息处理机制,如`CWinApp::Run()`函数,它不断检查消息队列并分发消息。 - 实例48演示了如何清除消息队列。有时候,为了确保处理最新的消息,我们需要清空消息队列,使得接下来处理的消息是最新的。 - 实例49涉及创建和发送自定义消息给系统中其他应用程序。这需要理解Windows消息机制,以及如何使用`SendMessage()`或`PostMessage()`函数来传递信息。 - 实例50则涉及大容量数据的跨应用程序共享,这对于数据传输和协作至关重要,可能需要使用内存映射文件或其他高效的数据交换手段。 第14章“多任务”涵盖了如何在MFC应用程序中实现并发处理。多任务允许程序同时执行多个不同的任务,比如后台计算或数据加载,而不影响用户界面的响应。实例可能包括使用线程、异步操作或其他并发控制技术。 最后的第15章“其他”包含了一些内部处理的实例,如定时器的使用、二进制字符串操作和VC++宏指令的运用。定时器常用于实现定时触发的事件,而二进制字符串则在处理底层数据和文件时非常有用。宏指令则能够帮助简化代码,提高效率,或者实现编译时的检查。 实例51中,我们看到如何使用Windows套接字进行应用程序间的通信,这允许MFC程序与任何支持套接字协议的应用(包括非Windows系统上的应用)进行交互。而实例52则涉及到串行I/O,这是与硬件设备(如打印机、扫描仪等)通信的经典方法。 这些实例详细地解释了MFC在非界面编程方面的能力,对于希望深入理解和扩展MFC应用功能的开发者来说,是非常宝贵的学习资料。通过这些实例,开发者可以学习如何利用MFC有效地处理后台任务,实现与其他应用程序的通信,以及如何在多任务环境中编写高效代码。