在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 Files\Microsoft Visual Studio\COMMON\MSDev98\AddIns路径下,如果你安装软件时自定义了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】,点击右边的【分配】,新的快捷键就出现在【当前键】的框

如果要分配其他的快捷键,也可以使用上述这种方法。
至此,问题已经解决。

VC6.0打开或者添加工程文件崩溃的解决方法的更多相关文章

  1. 【转】VC6.0打开或者添加工程文件崩溃的解决方法

    很多学习编程的同学都遇到这样的问题,在Windows操作系统下使用Visual C++ 6.0编程时,如果点击菜单中的[打开]或者[添加],或者按快捷键,都会弹出下图的对话框,出现程序崩溃并退出的情况 ...

  2. VC6.0打开或添加工程时崩溃的解决方法

    官方解决办法(英文):http://support.microsoft.com/kb/241396/en-us 网友解决(中文):http://blog.163.com/wjatnx@yeah/blo ...

  3. VC6.0与Office2007~2010不兼容问题及解决方法

    一.问题描述 启动打开文件对话框中,在 Visual C++ 使用的键盘快捷键或从文件菜单上将导致以下错误: 在 DEVSHL 中的访问冲突 (0xC0000005).在 0x5003eaed 的 D ...

  4. Ubuntu---gedit 打开windows 下 .txt 文件乱码的解决方法

    问题出现情况:在windows 下编辑的 .txt 文件复制到 Ubuntu 下打开,默认打开方式为 gedit 软件打开,出现如下乱码: 出现原因:在 windows 系统下,.txt 文件默认编码 ...

  5. 解决VC++6.0 无法打开、无法添加工程文件

    在windows系统下,经常会遇到这样的问题:点击VC++6.0 的[文件]下的[打开]无法操作,并且无法向工程添加文件,下面详细介绍一下解决方案? 工具/原料 VC++6.0 修复工具:FileTo ...

  6. VC6-Win7下VC++6.0打开多个工程的设置

    在Win7操作系统下,如果是以Administrator登陆,则VC6.0打开工程文件的时候,不能同时打开多个工程文件,后打开的工程会将前一个工程close掉,这样,VC6.0只能出现一个进程.在xp ...

  7. 转:使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)

    http://www.cnblogs.com/WayneLiu/p/5060277.html 前言:重装系统前我使用的是vs2015(有点装*),由于使用2015实在在班上太另类了, 导致我想在其他同 ...

  8. 使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)

    前言:重装系统前我使用的是vs2015(有点装*),由于使用2015实在在班上太另类了, 导致我想在其他同学的vs下看一看我写的代码都无法达成! 而且最关键的是交作业的时候,老师的2013也没有办法打 ...

  9. 无法打开文件“freeglut.lib”解决方法:

    资源: 链接:https://pan.baidu.com/s/1eSctT5K 密码:174s VS2010问题: 无法打开文件"freeglut.lib"解决方法: (1)下载f ...

随机推荐

  1. mysql触发器关联表更新

    mysql> create table voteItem -> ( -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> titl ...

  2. jquery加载页面的方法(页面加载完成就执行)

    jquery加载页面的方法(页面加载完成就执行),建议大家看下windows.onload与$(document).ready之间的区别. 1.$(function(){  $("#a&qu ...

  3. MongoDb Replica Set中使用的地址

    Unable to connect to a member of the replica set matching the read preference Primary 今天尝试使用MongoDB ...

  4. jquery不熟悉的方法

    1.jquery有一个筛选api find. 语法很简单,比如: HTML 代码: <p><span>Hello</span>, how are you?</ ...

  5. 短信接口调用以及ajax发送短信接口实现以及前端样式

    我们短信api用的是云信使平台提供的非免费短信服务:官网提供的demo有两种,分别是function加其调用.class文件加其调用. 在这里我们用class文件加调用: 首先,ThinkPHP里面自 ...

  6. 【转】 BSS段 数据段 代码段 堆栈 指针 vs 引用

    原文:http://blog.csdn.net/godspirits/article/details/2953721 BSS段 数据段 代码段 堆栈 (转+) 声明:大部分来自于维基百科,自由的百科全 ...

  7. openSUSE13.1 Yast 中所有软件图形化界面无法打开,问题原因: Ruby

    因为使用rvm安装了新的Ruby,而openSUSE13.1的YaST又是用Ruby的.....解决方案暂时没有

  8. C实现辗转相除法求两个数的最大公约数

    什么是辗转相除法? 辗转相除法(又名欧几里德算法),它主要用于求两个正整数的最大公约数.是已知的最古老的算法. 用辗转相除法求132和72的最大公约数的步骤: 132 / 72 = 1 ... 60 ...

  9. Power of Four

    Given an integer (signed 32 bits), write a function to check whether it is a power of 4. Example:Giv ...

  10. Socket(2)

    UDP: UDP协议没有socket之间的虚拟链路,也就是说没有“握手”阶段,只是发送接收. 可以想象成直播,直播时如果中间网络不好,不会事后重新播放之前的,而是直接跳过. 也就是说一方只负责发送,一 ...