在Win7操作系统下使用Visual C++ 6.0编程时,如果点击菜单中的【打开】或者【添加】,或者按快捷键,都会弹出下图的对话框,出现程序崩溃并退出的情况。
出现这种问题的原因是VC6.0和其他软件冲突所致,网上一般认为是和Office2007或者Office2010冲突,有人说是和Office里的vosio冲突,但是经过检查发现卸载vosio之后问题依旧存在,也有人说是需要重装系统或者重新安装软件,但是这些方法均不可行。
其实这是微软的一个bug,微软官方对于这个问题给出了官方的解决方案(原文地址为http://support.microsoft.com/kb/241396/en-us)。根据官方给出的方法,我们要用一个专门的插件来修复这个bug。以下便是具体步骤:
首先要下载所需的插件filetool.exe,Microsoft微软官方的下载地址为http://download.microsoft.com/download/vc60ent/s1/6.0/w9xnt4/en-us/filetool.exe。下载得到一个.exe的自解压文件,双击或者右键解压,得到一个文件夹,里面包含filetool的项目文件,如下图。
找到FileTool.dsw文件(上图红色框中的文件),双击打开,进入Visual C++ 6.0之后,点击快捷菜单栏中的红色叹号进行编译,如果弹出创建文件的对话框,选【是】,
弹出下图所示的调试对话框,直接点【取消】
这时编译完成,FileTool文件夹中多了一些文件,打开DeBug子文件夹,找到FileTool.dll文件,如下图,将此文件复制粘贴到C:Program FilesMicrosoft Visual StudioCOMMONMSDev98AddIns路径下,如果你安装软件时自定义了common文件夹的路径,则要找到你自定义的路径,将其放进去。
放好FileTool.dll文件后,打开VC6软件,在【工具】(Tools)菜单中点击【定制…】(Customiz),找到【附加项和宏文件】(Add-Ins and Macro Files)选项卡,勾选其中的【File Tool Developer Studio Add-in】,(如果其中没有这一项,则可以点击浏览按钮,自己手动找到刚才得到的filetool.dll文件。)然后点【关闭】,如下图。
这时你就会发现界面上出现一个小的浮动工具条,里面有两个蓝色的按钮,like this,一个【A】和一个【O】,A是AddIn,O就是OpenFile命令。拖动这个浮动工具条,可以将其放到快捷菜单栏里
现在就可以用这两个按钮来代替之前的打开和添加功能了,虽然有点难看,但也不至于崩溃。但是还有一个问题需要注意,原来的打开和添加菜单还有快捷键都还在,如果误点了这些按钮,程序依然会崩溃,为了防止意外发生,我们还需要清楚之前的打开和添加菜单以及快捷键,具体做法如下:
1. 首先删除菜单命令,首先打开【工具】(Tools)菜单,点击【定制…】(Customize),再单击【文件】菜单,将【打开】菜单拖出释放或者右键删除, 将快捷菜单栏中的打开按钮拖也拽出来释放,或者右键删除,
2.单击【工程】菜单,将【添加到工程】拖出释放或者右键删除
3.打开【工具】→【定制】菜单,找到【命令】选项卡,在类别一栏中选择Add-ins,可以看到右边的按钮中有刚才加入的【添加到项目】和【打开文件】两个蓝色的按钮,如下图。
4. 单击文件菜单,将上图中的【打开文件】命令拖拽放到之前显示打开文件命令的位置,如下图,
5. 按照同样的方法将【添加到工程】命令拖拽到之前所在的位置,如下图。
6. 如果是绿色版,可以跳过这一怒
如果不是绿色版,那么 接下来就要删除快捷键。
6.1.打开【工具】(Tools)菜单,点击【定制…】(Customize),在弹出的对话框中选择【键盘】选项卡。在【类别】框中选择【文件】,【命令】框中选择【FileOpen】,【当前键】框中选择【Ctrl+O】,然后单击右边的【移去】按钮将其删除,
6.2.然后在【类别】框中选择【工程】,【命令】框中选择【InsertFilesIntoProject】,默认情况下右边的【当前键】框中没有快捷键,如果有,按照上述方法将其删除。在【类别】框中选择【Add-Ins】,【命令】框中选择【OpenFile】,在【安下心快捷键】框中用鼠标点一下,然后再键盘上按下【Ctrl】+【O】,点击右边的【分配】,新的快捷键就出现在【当前键】的框
如果要分配其他的快捷键,也可以使用上述这种方法。
至此,问题已经解决。