MFC关于GetTitle

一个小问题,害得跑了几趟客户现场。

MFC文档类中有个GetTitle函数的用法造成的一个问题

问题描述:

写了一个工控程序,在自己的XP系统开发机上运行的很好,换到工业现场的WIN7机器上,运行时总是得到一个奇怪的错误。于是怀疑是不是本人自己写的一些DLL对WIN7的系统支持不是很好,一路排查,换了几台计算机,也在客户机上装了VS2010,还是有问题,最后不惜力气从现场把机器搬回来,继续调试。一路AfxMessageBox排除中间结果,最后发现GetTitle的返回值有问题。在WIN7系统上,返回时没有后缀名!!在本人的开发机器上是有的。问题出在新买的WIN7计算机查看文件选项默认"隐藏已知文件类型的后缀名"。取消该选项。一切OK。

看来,还是代码不够严谨。对可能出现的问题考虑不好周全。

时间: 2025-01-18 07:28:04

MFC关于GetTitle的相关文章

MFC常用的类详细介绍

常用的MFC类 CRuntimeClass结构 在CRuntimeClass结构中定义了类名.对象所占存储空间的大小.类的版本号等成员变量及动态创建对象.派生关系判断等成员函数.每一个从CObject类派生的类都有一个CRuntimeClass结构同它关联,以便完成在运行时得到对象的信息或基类的信息. 要使用CRuntimeClass结构,必须结合使用RUNTIME_CLASS()宏和其他有关运行时类型识别的MFC宏. CObject类 MFC的CObject类为程序员提供了对象诊断.运行时类型

MFC学习一 MFC基础类及其层次结构

从类CCmdTarget派生出绝大多数MFC中的类,其层次结构如下图: 从根类Cobject层层派生出绝大多数MFC中的类,层次结构如下图: MFC中重点类: CObject类是MFC的绝大部分类的基类.该类完成动态空间的分配与回收,支持一般的对象诊断.运行时类型标识,出错信息处理和文档序列化等. (1)对象诊断:利用成员函数AssertValid进行对象有效性检查:利用成员函数Dump输出对象的数据成员的值,诊断信息以文本形式放入一个数据流中,用于调试器的输出窗口信息显示.(只能用于Debug

MFC体系结构(2)

一.CWind类  1.工具/提示支持 为用户提供简短帮助 a.EnableToolTips打开提示功能 OnToolHitTest判断是哪个字控件要显示Tooltip b.UpdateData  (DDV 对话框数据交换) 把MFC成员变量值给控件,或者控件的值交换给成员变量 c.UpdateDialogControls 比如对话框改变大小 刷新对话框控件 d.窗口居中 e.RunModalLoop  ContinueModal  EndModalLoop 暂时接管线程的消息循环,可以做消息过

MFC体系结构(3)

一.文档视图关系示意图 1.可见部分其实就是一页一页, 比如一本书就有很多页,总不能同时显示很多页吧 2直方图显示文档中,可视部分的第一部分 3.使用框架窗口2,视图2显示,也就是说一个Document可以对应多个视图(View) 4.文档可视部分的第二部分,它可能就是对应一个表格,就是视图3和框架窗口3. 5.第二部分数据也可以用折线图来显示, 6.最重要的是用户可以在视图3里输入,视图3将用户输入的数据翻译,然后存储到文档中去. 一个文档对象他对应多个视图, 有些视图是纯粹显示用的, 有些则

一个基于MFC的QQ机器人框架

GitHub项目地址:https://github.com/HarmoniaLeo/MFC-QQbot 0x00 这是什么? 欢迎使用本QQ机器人开发框架(如果有人会用的话).本框架是主要使用MFC中的Windows API制作而成.利用Windows的消息机制以及一些系统级底层架构实现利用TIM客户端自动收发QQ消息的QQ机器人框架,用其制作的QQ机器人程序已在VS2017下编译通过(仅支持ANSI字符集)并可正常运行. 在框架开发时主要考虑了其拓展性,通过拓展该框架,可以实现包括自动回复.定

《深入浅出MFC》第七章 简单而完整:MFC骨干程序

不二法门:熟记MFC类层次结构.经常使用的主要MFC类:CWinApp, CWnd<-CView, CWnd<-CFrameWnd, CFrameWnd<-CMDIFrameWnd, CFrameWnd<-CMDIChildWnd, CWnd<-CDialog, CWnd<-CControlBar, CControlBar<-CStatusBar, CControlBar<-CToolBar, CCmdTarget<-CDocument, CCmdTa

深入浅出MFC——消息映射与命令传递(六)

1. 消息分类: 2. 万流归宗——Command Target(CCmdTarget): 3. "消息映射"是MFC内建的一个信息分派机制.通过三个宏(DECLARE_MESSAGE_MAP/BEGIN.../ON.../END...)完成消息网的建构. 4. 注意:CWinThread派生自CCmdTarget,但没有DECLARE_/BEGIN_/END_宏组. 5. 消息映射与虚函数: 6.

MFC控件使用技巧:List Control

1)每列内容过长,显示不完整 只有加载数据的情况下,才会出现水平滚动条 解决方案: 可以添加如下一个空的内容项: m_List.InsertItem(0,NULL);//为了显示进度条 2)不允许点击修改第一列(当然最多能够让我们改动的也只有他了) MFC默认情况下可以修改第一列,其他的不允许修改(需要定制DrawItem) 解决方案: Edit Labels 属性设置为 False 3)报表的形式表示 View 属性设置为 Report 4)注意:不要和列表框控件混淆(英文名: List Bo

【mfc】用对话框分页实现用户登录

所谓的对话框分页就是点击完一个对话框的按钮,切换到另一个对话框, 这样的对话框多用于一些需要用户登录才能够进行操作的软件, 下面就用对话框分页来实现用户登录系统 一.基本目标 有如下的程序,输入用户名与密码,如果用户名为admin,密码为123456,那么则成功登录,切换到一个有"欢迎登录"与"关闭"按钮的对话框 如果用户名或者密码输入错误则弹出提示, 点击关闭能够关闭这个程序,不弹出用户登录的对话框. 二.制作过程 1.首先如同之前的<[mfc]对于对话框程