一、问题描述与原因分析

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. c++ 模运算

    在数学里,"模运算"也叫"求余运算",用mod来表示模运算. 对于 a mod b 可以表示为 a = q(商)*b(模数) + r(余数),其中q表示商,b表 ...

  2. Spring-boot访问MongoDB

    1.访问配置信息 package hello; import org.springframework.context.annotation.Bean; import org.springframewo ...

  3. JavaScript总结3—对象

    对象是JavaScript的基本类型,他可以从一个称为原型的对象继承属性,这种原型式继承是JavaScript的核心特征.对对象比较常见的操作有:创建,设置,查找,删除,检测和枚举他的属性.每个对象都 ...

  4. [转载][记录]shell 批量修改文件名

    参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while ...

  5. 论js中的prototype

    今天在阅读代码时,碰到了prototype //判断是否是数组function isArray(obj) { return Object.prototype.toString.call(obj) == ...

  6. 用js实现选项卡切换效果

    这是要实现的效果图: 一.HTML页面布局 <!-- HTML页面布局 --><ul class="tab_menu"> <li class=&quo ...

  7. 你hack那么多啊,该怎么办

    当我们通过javascript来操作css样式的时候,假如我们停留在css2的阶段,会发现操作起来并不是很困难.虽然存在一些浏览器兼容的问题,但我们通过封装自己的函数,不仅可以设置样式还能够获取样式. ...

  8. git命令(流程)

    1,配置你的信息: git config --global user.name 你的名字 git config --global user.email 你的邮箱 --global 表示所有git仓库都 ...

  9. 自动生存Makefile教程 autoscan aclocal autoconf autoheader automake configure

    LZ没学过makefile的写法,只知道使用tab.于是乎发现了autotools系列工具 基本流程是:autoscan.aclocal.autoconf.autoheader.automake.co ...

  10. redis 入门笔记(一)

    redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的web应用程序的完美解决方案 三个主要特点:      1,Redis数据库完全在内存中,使用磁盘仅用于持久性       ...