一、问题描述与原因分析

1、问题描述

  使用VC6.0,在工具栏点击“打开文件”或者“添加文件到项目”的图标时,提示如题的错误。

2、原因分析

  微软的VC6.0与office2007冲突问题。

二、解决问题的办法

1、删除VC6.0本身自带的“打开文件”和“添加文件到项目”的功能

2、从外部添加“打开文件”功能的外接程序

3、利用“自定义”菜单、快捷键等等,修改图标以及快捷键连接到外接程序上

三、详细步骤

1、下载插件源码

  下列文件已可从 Microsoft 下载中心下载:FileTool.exe

2、安装外接程序
  1. 运行 FileTool.Exe 来提取 Visual C++ 6.0 项目。
  2. 生成 Visual C++ 中发布调试配置中的项目。
  3. 在 Visual C++中,从工具菜单中单击自定义
  4. 自定义对话框中,单击加载项和宏文件选项卡。
  5. 单击浏览按钮,并在步骤 2 中找到生成的 FileTool.dll 文件。
  6. 单击确定以保存设置。

  两个命令的工具栏将出现。到此,已经解决了如题的问题,利用这两个工具可以正常的打开和添加文件到项目中。但是,使用起来还是不够方便,原有的快捷键、菜单命令、工具栏图标对应的都还是VC6.0自带的程序,点击这些图标或者使用这些快捷键仍然会导致程序崩溃。所以,最好进行步骤3、4的操作,以彻底修补这个缺陷。

注意:在 Visual C++ 5.0 中,只有打开命令起作用。AddFile方法与 Visual Studio 6.0 版本添加发布。

3、快捷键处理

  加载外接程序后,您可以通过执行下列步骤删除原有的Visual C++上“打开文件”和“添加文件到项目”的快捷键,并将它们的快捷键分配给两个外接程序命令。

  1. 从 Visual C++ 的工具菜单上,单击自定义
  2. 自定义对话框中,单击键盘选项卡。
  3. 类别框中选择文件
  4. 在命令窗口中,选择枚举
  5. 当前快捷键窗口中,选择 CTRL + O 条目,然后单击删除
  6. 类别框中选择项目
  7. 在命令窗口中,选择InsertFilesIntoProject
  8. 类别框中选择加载宏
  9. 在命令窗口中出现的两个外接程序命令添加文件到项目打开文件
  10. 选择打开文件,然后将光标放在请按新快捷键框中,按快捷键或按键组合,然后单击分配
  11. 其他命令重复上述步骤。

4、菜单命令和工具栏的处理

  加载外接程序后,您可以通过执行下列步骤删除原有的Visual C++上“打开文件”和“添加文件到项目”的菜单命令和工具栏图标,并将两个外接程序命令对应的菜单命令和工具栏图标添加到VC界面上。

  1. 从 Visual C++ 的工具菜单上,单击自定义
  2. 单击文件菜单,然后拖动文件弹出式菜单上的打开命令,然后松开,这样就删除了打开命令的菜单项。
  3. 单击项目菜单,单击添加到项目中然后从弹出式菜单的文件命令然后松开,这样就删除了添加到项目中的菜单项。
  4. 自定义对话框中,选择命令选项卡。
  5. 类别列表框中选择外接程序
  6. 拖动到文件菜单上的打开文件命令,并将其放在空出的打开命令的空间,添加外接程序打开命令的菜单项。
  7. AddFileToProject命令添加到项目项在项目菜单上拖放到它空出的文件命令的空间中。

  删除和添加工具栏图标的方法与删除和添加菜单命令的方法类似。

5、最终的效果

参考资料:FileTool.exe 替换 Visual C++ 中的打开和添加到项目功能

“0x5003eaed” 指令引用的“0x00000000”内存。该内存不能为“read”的更多相关文章

  1. 0x00411202指令引用的0x00000000内存该内存不能为read错误,怎么解决

    0X000000该内存不能为read的解决方法 出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了. 一.先说说硬件问题,主要方面是: 1.内存条坏了 更换内存条 2.双 ...

  2. VirtulBox安装虚拟机(鼠标点击时)0x00000000指令引用的0x00000000内存该内存不能为written错误解决方案

    这个错误并不是所有人都会用到,我用的是WIN7系统,公司的电脑.查找了很多原因后,发现的确是由于系统主题被破解过的原因. 手工恢复风险太高.通过下面的工具就可以直接恢复.UniversalThemeP ...

  3. 0x7c95caa2指令引用的0x00000000内存 该内存不能read

    出现这样的错误,往往和动态库有关系! 解决方法:

  4. VirtualBox运行出现“0x00000000指令引用的0x00000000内存。该内存不能为written” ,错误解决

    win7 64位系统,运行virtual box 出现如下错误 错误原因:由于系统主题被破解导致的 解决办法: 1.管理员身份运行UniversalThemePatcher_1.5.22 x64,点击 ...

  5. 玩魔兽争霸无故退出 提示框显示"0x21101663"指令引用的"0x02704acc"内存该存不能为"read" 确定就会终止程序

    20151002总结:下方法试过,没完全按照说的操作完,觉得有风险且那个read程序执行时间好长的,感觉有点干坏事的意思 ======================================= ...

  6. (原创)解决远程桌面连接远程应用时,出现 '应用程序错误: '0x7c931780'指令引用的 '0x89abcdef' 内存。该内存不能为 'read'"

    公司的部分应用为cs结构,没有web版的,这些应用的外部访问基本都是通过使用windows server 2008 r2的远程桌面服务来实现的. 个人感觉微软远程桌面服务问题很多,今天有同事使用Rem ...

  7. 为什么X86汇编中的mov指令不支持内存到内存的寻址?

    在X86汇编中,MOV [0012H], [0016H]这种指令是不允许的,至少得有一个操作数是寄存器.当然,这种问题在用高级语言的时候看不到,感觉好像基本上都是从内存到内存啊,为毛到了汇编就不行了? ...

  8. 转: 【Java并发编程】之十七:深入Java内存模型—内存操作规则总结

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17377197 主内存与工作内存 Java内存模型的主要目标是定义程序中各个变量的访问规则, ...

  9. Java的内存 -JVM 内存管理

    一.综述 如果你学过C或者C++,那么你应该感受过它们对内存那种强大的掌控力.但是强大的能力往往需要更强大的控制力才能保证能力不被滥用,如果滥用C/C++的内存管理那么很容易出现指针满天飞的情况,不出 ...

随机推荐

  1. springMVC学习笔记二

    六.springmvc的注解 xml的配置→注解 1.新建一个配置文件还是在config下 新建springAnnotation-servlet.xml web.xml 修改初始化为<param ...

  2. windows 7 共享,未授予用户在此计算机上的请求登录类型

    刚刚重装了windows7,新下载的一个ghost版本,结果却不能共享,每次访问这台机器的共享都提示, 未授予用户在此计算机上的请求登录类型 这个情况好像是存在于win7访问win7,我用一台XP系统 ...

  3. Java基础知识强化之IO流笔记71:NIO之 NIO的(New IO流)介绍

    1. I/O 简介 I/O ( 输入/输出  ):指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的. ...

  4. js中数组内置方法

    var arr = ['A','B','C','D']; length 计算数组的长度 arr.length//4 indexOf() 搜索一个指定的元素的位置 arr.indexOf('C');// ...

  5. apply方法别有他用!

    首先是apply()一个很强大的功能——能将一个数组默认转化为参数列表!!! 应用: 1.求出一个数组中的最大值 var arr= [1, 3, 3, 6]; var max =Math.max.ap ...

  6. Fragment+Activity传递数据

    自己经常使用的知识点,每次到要用的时候都还要再查一次才能懂得使用,终于体会到总结的必要性了. Activity传递数据给Fragment Bundle bundle_fragment=new Bund ...

  7. 简书APP

    找第三方的时候看到简书这个APP,上网搜了一下发现网页版非常的干净,开头的一篇文章就是"你没实力就别心存侥幸",看完也挺有有同感的.文章网址:http://www.jianshu. ...

  8. xsl输出html代码 非闭合

    ``` </div> <div class="row-fluid"> ···

  9. jQuery-对Select的操作

    语法解释: $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 var checkTex ...

  10. List中的get(i)

    List中的get(i)方法是获取List中的第i个对象吗 是第i+1个对象.List是从0开始的 List是有序的可重复的集合接口