- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计“网络聊天”程序(DLL实现)
;7.1.1 功能描述
在列表控件中选择用户,或在“发送给”组合框中选择接收人后,输入发送的消息内容,然后单击“发送信息”按钮将发送消息,如图7.1所示。如果选中“所有人”复选框后,那么消息内容或文件将被发送给局域网中的所有用户。
;单击窗口上的“发送文件”按钮,将弹出一个文件“打开”对话框以选择需要发送的文件,如图7.2所示。;当接收到文件后,弹出一个消息提示框并询问是否接收文件,如图7.3所示,如果单击“是”按钮则开始接收文件。
;在创建套接字类动态链接库时,使用MFC创建常规的动态链接库,并在应用程序中隐式加载该动态链接库;在创建多线程动态链接库时,使用MFC创建扩展的动态链接库,并以动态显示的方式加载该动态链接库。
;;;;;4.函数调用约定
函数的调用约定指定了函数在被调用时,其函数参数入栈的顺序和产生函数修饰名的方法,以??指定由调用者还被调用者管理堆栈。常见的调用约定见表7.2。
;在Windows中提供这些调用方式定义相应的宏以方便在程序中使用,这些宏都定义在windef.h头文件中。常见的Windows调用约定宏见表7.3。
;1.创建非MFC动态链接库
选择“文件”→“新建”菜单命令,弹出“新建项目”对话框。在对话框中的“项目类型”窗格中选择“Visual C++”项下的“Win32”,然后在“模板”窗格中选择“Win32”项目。指定项目名称及保存路径后,单击“确定”按钮并通过“Win32应用程序向导”选择创建DLL项目,如图7.4所示。
;2.创建常规动态链接库
在“新建项目”对话框中,选择“Visual C++”项下的“MFC”项目类型,然后在“模板”窗格中选择“MFC DLL”,指定项目的名称及保存路径并单击“确定”按钮。在弹出的“MFC DLL向导”对话框页面中选择“使用共享MFC DLL的规则DLL”单选按钮,创建常规动态链接库项目,如图7.5所示。
;;3.创建扩展动态链接库
同样在“MFC DLL向导”对话框中,选择“MFC扩展DLL”可以创建MFC扩展动态链接库项目,如图7.5所示。
创建的MFC扩展动态链接库项目中仅包含一个DLL入口函数DllMain。然后,选择“项目”→“添加类”菜单命令向项目中添加导出的类,并在类名前添加AFX_EXT_CLASS宏来声明该类可以被导出动态链接库。
;1.隐式链接
有两种方法可以将lib文件添加到工程中。一种方法是:在解决方案资源管理器中选择项目名称并右击,在弹出的快捷菜单中选择“属性”菜单命令,或者选择“项目”→“属性”菜单命令,弹出该项目的属性页对话框,然后选择“配置属性”→“链接器”→“输入”菜单命令,在“附加依赖项”属性栏中指定需要导入的lib库文件的全路径名,如图7.6所示。
;;;;在使用显式链接方式调用DLL时,操作系统在加载应用程序时并不会将该应用程序所有引用的DLL都加载到内存中,而是在使用某个DLL时再将其载入。在对DLL加载的过程中,Windows将遵循下面的有哪些信誉好的足球投注网站顺序来查找DLL:
(1)包含可执行文件(exe)的目录;
(2)进程的当前目录;
(3)Windows系统目录;
(4)系统中Windows目录;
(5)PATH环境变量中的目录。
;7.3.1 创建NetChat项目
(1)选择“文件”→“新建”→“项目”菜单命令,弹出“新建项目”对话框。在对话框中选择“MFC”项目类型,并在模板窗格中选择“MFC应用程序”。指定新项目的名称为NetChat及该项目保存的位置,然后选中“创建解决方案的目录”复选框。单击“确定”按钮创建一个基于对话框的应用程序,并取消“使用Unicode库”及允许“使用Windows套接字”功能。
(2)向对话框模板中添加相应的控件,并为这些控件添加成员变量。同时,在CNetChatDlg类的OnInitDialog函数中初始化列表控件。
;;;;(1)选择“文件”→“新建”→“项目”菜单命令,弹出“新建项目”对话框并创建一个“MFC DLL”模板的项目ChatSock,然后指定该项目保存的路径,并在“解决方案”下拉列表中选择“添入解决方案”项,单击“确定”按钮,并弹出“MFC DLL向导”对话框。
;(2)在对话框中的“应用程序设置”向导页面中选择“DLL类型”为“MFC扩展DLL”,并在“附加功能”项中选中“Windows套接字”复选框,如图7.7所示。然后,单击“完成”按钮新建ChatSock项目。
;(3)在解决方案资源管理器中选择ChatSock,并选择“项目”→“添加类”菜单命令,在弹出的“添加类”对话框中选择“MFC类”并单击“添加”按钮,然后,通过MFC类向导为项目添加CUDPSocket类,并指定该类的基类为CSocket,如图7.8所示。
;;;;(1)选择“文件”→“新建”→“
您可能关注的文档
- 计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现.doc
- 计算机网络路由交换简答题题库.doc
- 计算机网络-第三章_数据链路层.ppt
- 计算机网络课程设计申请-中小型企业内网的组建及应用.doc
- 计算机组装与维护实用教程上.ppt
- 计量管理制度(汇编)(XX公司仪表事业部企业标准) .doc
- 计算机高级语言VB程序编程设计:浏览器.doc
- 计算机美术设计-电子教案.ppt
- 订单合约评审程序.doc
- 计量经济学课后习题答案_庞浩主编.doc
- 2022~2023水利设施管养人员考试题库及答案第294期.pdf
- 2023-2024学年全国全部苏教版(2019)高中生物单元测试(真题及答案).pdf
- [全]B证(安全员)模拟考试含答案2021.pdf
- 2024全国高考(新课标 I 卷)首次仿真模拟 语文试题及答案 .pdf
- 2024年高三语文教师工计划(4篇).pdf
- 山东省潍坊市高密四中学文慧学校2024届语文八下期末监测模拟试题含解析.pdf
- 小王子阅读测试题之欧阳美创编_图文.pdf
- 小学四年级上册科学第二单元试卷及参考答案 .pdf
- 信息技术学科知识竞赛题(含答案) .pdf
- 广东省2022年普通高中学业水平选择性考试 物理及答案.pdf
文档评论(0)