- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何编程结束应用程序
如何编程结束应用程序?这是个很简单又是编程中经常要遇到的问题.向窗口发送 WM_CLOSE消息,调用 CWnd::OnClose成员函数.允许对用户提示是否保存修改过的数据. Example: AfxGetMainWindow()-SendMessage(WM_CLOSE)还可以创建一个自定义的函数 Terminate Windowvoid Terminate Window(LPCSTR pCaption) {CWnd *pWnd=Cwnd::FindWindow(NULL,pCaption)if (pWnd)pWnd -SendMessage(WM_CLOSE) } 说明: FindWindow函数不是提倡的做法,因为它无法处理标题栏自动改变,比如我们要检测 Notepad是不是已运行而事先不知道Notepad的标题栏,这时FindWindow就无能为力了,可以通过枚举 windows任务列表的办法来实现。在机械出版社Windows 95 API开发人员指南一书有比较详细的介绍,这里就不再多说乐。如何编写控制面板程序控制面板程序是用户用于配置Windows环境的一些特殊动态连接库(DLL)。Windows已经为我们提供了一些标准的控制面板程序,如字体、键盘、鼠标设置等;如图1所示。我们也可以根据实际的需要创建自己的控制面板程序,以便让用户来查看或者修改特定软硬件的参数设置。控制面板的功能和操作方式控制面板程序的主要功能是显示一个对话框让用户完成特定的任务。但是,与其它应用程序不同的是,控制面板程序并不是一个独立的应用程序,它不提供标准菜单或者其它方法让用户直接去操作这些对话框,而是在其他应用程序(如控制面板)的控制下操作和显示它们的对话框的。控制面板程序通常是由一个Windows的系统工具(即控制面板)所控制,从而让用户来运行的。但是,其它应用程序只要发送控制面板程序所需要的消息并且处理它们的返回值同样可以加载并且管理这些控制面板程序,为了陈述简单,下文中我们将这类程序统称为控制面板。大多数的控制面板程序仅显示并且维护一个对话框让用户来控制系统某一个部件的参数设置以及操作方式,但事实上控制面板程序可以提供多个对话框来控制多个系统部件(这些单个的对话框通常被称为Applet小程序)。为了区分这些对话框,控制面板程序通常为每个对话框提供一个图标。控制面板则把这些图标显示出来,供用户选择不同的对话框进行配置。程序入口函数前面提到,控制面板程序是特殊的动态连接库(DLL),在每一个控制面板程序中必须提供一个标准的函数入口 CPlApplet ,控制面板程序通过这个函数来接收控制面板发送的消息,从而执行相应的功能,如初始化程序、显示并且管理对话框以及关闭程序等。当控制面板首次加载控制面板程序时取得CPlApplet函数的地址,通过该地址去调用控制面板程序的函数以及给它发送消息。控制面板可以向控制面板程序发送的消息名称及其意义如下表所示:消息名称含义CPL_DBLCLK该消息通知CPlApplet函数用户双击了某对话框相关联的图标。CPlApplet应该显示相应的对话框并且完成用户指定的任务。CPL_EXIT该消息在最后一条CPL_STOP消息之后,并且控制面板调用FreeLibrary 函数释放包含控制面板程序的动态连接库DLL 之前调用。CPlApplet应该释放所用资源准备关闭。CPL_GETCOUNT该消息在发送了CPL_INIT消息之后发送,CPlApplet应该返回一个整数指明它支持多少个对话框。CPL_INIT该消息在控制面板动态连接库DLL程序首次加载时调用, CPlApplet在此可以执行一些初始化过程,包括内存的分配。CPL_INQUIRE该消息在CPL_GETCOUNT消息之后发送,让CPlApplet提供特定对话框的信息。CPlApplet的lParam2参数指向一个CPLINFO结构。CPL_NEWINQUIRE 该消息在CPL_GETCOUNT消息之后发送,让CPlApplet提供指定对话框的信息。参数lParam2是指向NEWCPLINFO结构的指针,在Windows 95 and Windows NT version 4.0,为了提高性能,控制面板程序应该处理CPL_INQUIRE消息,而不是CPL_NEWINQUIRE消息。CPL_STOP在控制面板关闭前向每一个对话框发送该消息。CPlApplet应该释放与给定对话框相关联的内存资源。消息处理回调函数CPlApplet处理所有由控制面板发送给控制面板程序的上述消息,这些消息是按照特定的顺序来发送并且处理的。当控制面板首次加载控制面板程序的动态连接库时,CPlApplet收到CPL_INIT消息。CPlAppet在处理该消息的程序中应该执行一些初始
文档评论(0)