本文适用于DX8, DX7
VS6中的MSDN所带的DXSDK较老,要查DX8或DX7有关的帮助可能不够方便。我们在DXDevList中看到过一组讨论,其中Tom Spilman先生发现一个好办法将DX7 Help 合并到MSDN中(DX8也同样如此),Matthew Waddilove先生做了在VS6下的补充。我们按着他们介绍的方法在VS98下试用成功,并略有简化,感觉这种比较实用,因此整理了一下,希望也能对别人有用,而且可以不走我们走过的弯路。不过试以前,我们在此申明,我们不负造成MSDN不能运行而需重装的责任,大家自己小心吧。下面我们用DX8的VCSDK来举例说明:
第一步:
找到MSDN目录下找到“MSDNVS98.COL”,这实际上是一个XML格式的文本,所以我们可以用文本编辑器打开(在修改以前最好还是备份一下这个文本),大至看懂还比较容易吧,在其中加入以下这段代码,
<Folder>
<TitleString value="=dx"/>
<FolderOrder value=2/>
<LangId value=1033/>
</Folder>
保存文件,第一步完成了,够简单了吧。
注意:在这里我们取FolderOrder的值为2,你可以自己修改,以决定DX8SDK或DX7SDK栏在MSDN中出现的位置及你将此小段代码插入到“MSDNVS98.COL”中的位置。
让我们接着来做第二步吧。
第二步:
搜索硬盘上的“hhcolreg.dat”,在98下一般在C:\WINDOWS\HELP\下,在Win2K下一般在C:\WINNT\HELP\下,哈,运气不错,想必大家也知道了,这也是一个XML格式的文本文件。同样注意备份,打开文本编辑器,到了文件底部后将这段代码加入到</DocCompilations>标记以前。
<DocCompilation>
<DocCompId value="dx"/>
<DocCompLanguage value="1033"/>
<LocationHistory>
<ColNum value="1"/>
<TitleLocation value="D:\DX8SDK\doc\DirectX8\directx8_c.chm"/>
<IndexLocation value="D:\DX8SDK\doc\DirectX8\directx8_c.chi"/>
<QueryLocation value=""/>
<LocationRef value="98VS-2052-Local"/>
<Version value="29187291"/>
<LastPromptedVersion value="0"/>
<TitleSampleLocation value=""/>
<TitleQueryLocation value="98VS-2052-Local"/>
<SupportsMerge value="0"/>
</LocationHistory>
</DocCompilation>
注意:1.在这里我们的DX8SDK帮助文档是放在D:\DX8SDK\doc\DirectX8\目录下,读者在试时请改成自己存放的绝对路径。2.<ColNum value=>标记可能不一定为1,请参看上下文的值。3.<DocCompId value=>标记值应与第一步中<TitleString value=>标记中等号后的串值一致。
就这么简单,改完了,接下来打开MSDN,在目录中看到多了一个DirectX 8.0 (C++)吧,再点“INDEX”,就听硬盘一通狂响,MSDN开始了索引合并过程,花点时间等等吧,运行VC6,打开一个DX8SDK中的例程,找到一个不太熟悉的DX8接口或结构,按F1,看到了吗,不错吧:-)。