一、问题描述
启动打开文件对话框中,在 Visual C++ 使用的键盘快捷键或从文件菜单上将导致以下错误:
在 DEVSHL 中的访问冲突 (0xC0000005)。在 0x5003eaed 的 DLL。
DevShl.Dll 引用在 0x0000000 的内存。无法读取内存。
当从项目菜单中选择添加到项目,并单击文件,会发生同样的错误
二、解决方法
1. 下载FileTool.exe,并解压
2. 打开VC6.0,点击File-Open Workspace,选择刚解压出来的FileTool.dsw,并确定
3. 点击Bulid-Build FileTool.dll,生成FileTool.dll文件
4. 把生成的FileTool.dll文件拷贝到合适的地方(避免误删),在VC6.0中点击Tools-Customize
5. 在出现的“Customize”对话框中,点击Add-Ins and Macro Files标签
6. 点击Browse,在文件类型下选 dll , 定位刚才生成的dll文件,点击确定,然后点击OK保存设置
7. 此时VC中会出现一个上面只有两个图标的工具栏,点击其右上角的“X”按钮将其关闭,然后关闭VC6.0并重新启动程序
8. 还是在VC6.0中点击Tools-Customize
9. 在Customize对话框中点击Keboard标签
10. 从Category的下拉菜单框中选择File
11.在Commands窗口中选择FileOpen
12.在Current keys窗口中选择CTRL+O条目,并点击Remove
13.从Category的下拉菜单框中选择Project
14.在Commands窗口中选择InsertFilesIntoProject,如果之前给它注册了快捷键,则按照上面所说步骤移除之,默认情况下它是没有快捷键的
15.从Category的下拉菜单框中选择Add-Ins
16.这时Commands窗口中应该已经多出了AddFileToProject和OpenFile两个条目,可以给它们分配快捷键了,选择 OpenFile条目,然后点击Press New Shortcut Key输入框,按下想设置的快捷键或快捷键组合(如打开文件默认的快捷键CTRL+O),点击Assign
可以以同样的方法为其它的命令设置快捷键
最后,还应该在菜单栏内做相应的改动,移除无法使用的旧Open命令,换上新的:
1. 在VC6.0中点击Tools-Customize(然后点击一下Toolbars或者Commands,这样才能下一步)
2. 点击vc6.0工具栏上的File菜单,并将弹出菜单中的Open命令拖拽至弹出菜单之外(出现一个减号时释放,别弄错了给它拖到其他菜单中去了)并释放
3. 点击Project菜单,并将弹出菜单中的Add To Project命令拖拽至弹出菜单之外并释放
4. 在Customize对话框中选择Commands标签
5. 在Category列表中选择Add-ins
6. 点击File菜单,将OpenFile命令(图标为字母O)拖动到之前Open命令所在位置
点击Project菜单,将AddFileToProject命令(图标为字母A)拖动到之前Add To Projec命令所在位置
这样,VC6.0中无法打开文件和无法向工程中添加文件的问题就解决了。
FileTool.exe的下载:http://support.microsoft.com/kb/241396