VC6帮助文件BUG的修改

原创 2002年07月03日 09:46:00

VC6帮助文件BUG的修改

作者:cadinfo(无语轻风)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

时间:2002-7-2

 

       使用VC6的朋友无论你是菜鸟或者是大牛,可能都在为一件事情烦恼,那就是MS的工程师在设计VC6编译器的情况下——他们缺心眼的对简体中文斜眼相看,在你使用MFC AppWizard向导生成应用程序项目的时候,如果选择了Context Help的话,那么头疼的事情就此开始了,在项目子目录hlp中的所有rtf文件都不能正常显示中文,我在寻找解决的方法,心想:或许很简单,或许先天不足,回天乏术。

       幸运的是我做到了,是我想象的第一种,太简单了——

 

序幕:在CSDN上看到网友发文,苦苦寻觅解决之道,然而应者聊聊,都没有研究过?我当时意识到这必定是VCBUG,而不是那位朋友的机器出了问题!于是决定迎战——

 

战场:开始动手,生成新项目,当然选择Context Help,然后Finish,一切风平浪静,毫无硝烟!项目生成之后,立马进入hlp目录,AfxCore.rftAfxDb.rtfAfxDlg.rtfAfxOleClAfxOleSvAfxPrint.rtf(呈现在我的眼前)[1],打开A.用“写字板”,B.用“winword”,果然有BUG——乱码。在战场上看到敌人,最忌讳的就是惊慌失措,我定了定神,开始指定方案,还真是无从着手,乱码-乱码-乱码,忽然我眼前一亮,前几天我的系统也是无法显示中文[2],怎么解决的,我一拍脑袋——代码页,一定是代码页的问题。

 

回忆:爱机购于2001/8/25,农历7/7,真是爱不释手,连一个简单的Console窗口我都要给它美化一番,我给它设置背景,定制输出提示——太美了!现在它的提示是:

图形图象工作室 [Administraotr]

星期二 2002-7-2

当前时间:21:10:24.53

工作空间>

可是不知道出了什么差错中文目录一概是???,一次偶然的机会使用了chcp命令,发现代码页(Code Page)显示为437,这不是英文代码页吗!我恍然大悟,立马chcp 936OK回到了那个显示中文的美好年代!

 

除虫:咣当!茶杯从托盘掉了下了,惊醒了我美好的回忆,也发出了进攻的号角:我选定一个rtf文档AfxCore.rtf,右击,打开方式(H->选择程序当然不能再用可以解析rtf格式的那种,我选用了“记事本”,哈,果然是Ascii文件,逐行扫描,锁定cpg,果然不出所料,代码页被活活的设置成了950,这是哪和哪的事啊!选择编辑(E->替换(R),将cpg950全部替换为cpg936,保存退出。我开始考虑用“写字板”打开,祈祷着不要打击我,事实上没有,成功了。

 

尾声:话不能说得这么绝对,我用的是W2K+SP2VC6+SP5,据说在98的机器上是没有这种BUG的,原因是它有简繁体自动转换的机制,也许CPG 950正好指向繁体中文呢!但是至少我的机器CPG 950为无效代码页。

       另外MS的工程师确实也太不敬业了,或者说对我们国家存在偏见,太可恶了,我觉得使用正版软件的应该争取自己的权利,把它推向被告席。当然我是不敢的了,原因是今年3月份我开发图象软件过程中发现PS公司的图象格式有出入,然后去征求资料,吃了闭门羹不说,还向我索要注册号!FT我穷啊!


[1] 此处为了说明全面,列出了所有rtf文件,实际上生成其中的几个

[2] dos shell窗口状态

VC6 Bug 集合

1. 在编辑状态下发现成员变量或函数不能显示提示是如何打开显示功能 这似乎是目前这个Visual C++ 6.0版本的一个bug,可按如下步骤使其正常,如再出现,可如法炮制: (1)关闭Project...
  • objectively
  • objectively
  • 2013年07月20日 17:26
  • 761

VC6调试版本C运行库内存申请的一个bug

VC调试版本C运行库内存申请的一个bug  遇到过一个通信方面的软件,需要长期运行,做压力测试时,高负荷连续运行一定天数时必定崩溃,而且都是在msvcrtd.dll中崩溃。负责维护的人百思不得其解,就...
  • someonea
  • someonea
  • 2008年03月29日 21:06
  • 3998

制作已编译的html帮助文件

http://www.cnblogs.com/cm186man/archive/2008/03/10/1098896.html引用 HTML帮助文档从结构上来看可分为两个部分,运行器和文档内容。它的...
  • aidem_brown
  • aidem_brown
  • 2014年08月04日 15:05
  • 939

Win7 x64 VC6无法调试程序的bug解决方法

用VC6在64位Windows7下调试的时候,如果中断(Shift+F5)调试,程序无法退出。 问题描述: 当点击F5开始一个项目的调试时,程序在设置的断点处停止,这时按下Shift+F5后,...
  • wangningyu
  • wangningyu
  • 2014年07月20日 21:37
  • 4035

VC6 DEBUG版的一个BUG

同事写了一个服务程序,需要长期运行,却不定期的出现异常,调试发现出错位置位于DBGHEAP.c文件第338行,这部分的代码为:/* break into debugger at specific me...
  • freefalcon
  • freefalcon
  • 2006年10月26日 13:32
  • 2240

在VC中添加help帮助文件

函数及参数说明(具体参考MSND)HWND HtmlHelp(HWND hwndCaller, LPCSTR pszFile, UINT uCommand, DWORD dwData); hwndCa...
  • jiazhen
  • jiazhen
  • 2007年05月21日 17:56
  • 2844

---===HTML帮助文件的制作和使用(new)===---

                              HTML帮助文件的制作和使用   HTML Help Workshop 已经不是新鲜的东西,它取代了功能很强但看起来比较普通的 Help W...
  • coolstar
  • coolstar
  • 2001年05月04日 17:14
  • 2456

VC6的一个bug???

   前几天测试程序的时候发现程序莫名奇妙的死掉,仔细一看原来是指针越界导致的内存访问错误,但是从程序来看并没有越界。      程序代码类似下面的代码:int i=0;for (i=0; i{//访...
  • someonea
  • someonea
  • 2008年03月15日 22:04
  • 1232

VC6编译器的BUG

我是一个每天和VB偶尔和C#打交道,并且梦想着有一天去用C/C++开发实际项目的人,所以很多时候我就会祭出我安装在电脑系统中各种C++编程环境,然后写上几句C/C++代码以安慰我不是一个C/C++程序...
  • laery
  • laery
  • 2017年01月04日 23:42
  • 121

chm (Compiled HTML Help,即“编译的HTML帮助文件”)的使用

CHM 文件格式是微软于 1998 年推出的基于 HTML 文件特性的帮助文件系统,以替代早先的 WinHelp 帮助系统。它在 Windows 98 中把 CHM 类型文件称作“编译的 HTML 帮...
  • magaiou
  • magaiou
  • 2018年01月07日 15:05
  • 25
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC6帮助文件BUG的修改
举报原因:
原因补充:

(最多只允许输入30个字)