我以前可以拖放文件到我的一些桌面图标(例如 Notepad++、AstroGrep 等)打开使用那些图标所代表的应用程序。
大约一个月前(不记得具体发生的时间),系统停止支持此功能,现在它不再支持了。相反,它只会“移至桌面”拖放的文件。
知道如何恢复这个(非常方便的)功能吗?
笔记:
- 这并不是说拖放功能完全停止了。只是打开由于某种原因,功能(拖放功能)停止工作。
- 此功能在我所有其他 Windows 7 计算机上运行良好。
- 删除并重新创建桌面图标/快捷方式没有帮助。
- 我发现了很多关于“拖放功能在 Windows 7 64 位上不起作用“但它们并不适用于我的情况,因为除了失去能力之外打开使用拖放操作复制和移动文件仍然有效。
附加信息:
我使用 CCleaner分析(仅!不是“修复”......)可能的注册表问题,并且唯一看似相关的区域是以下“缺少共享 DLL” HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
:
C:\Windows\Microsoft.NET\Framework\v1.0.3705\vsavb7rt.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\system.enterpriseservices.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\mscorrc.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\mscordbi.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\mscorsec.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\system.configuration.install.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\microsoft.vsa.vb.codedomprocessor.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\wminet_utils.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\microsoft.jscript.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\diasymreader.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\iehost.dll
C:\Windows\Microsoft.NET\Framework\v1.0.3705\system.data.dll
C:\Program Files (x86)\Hewlett-Packard\HP Health Check\Tools\UninstallHPSA.exe
您是否发现上述任何内容可以解释这个问题?
更新 1:
sfc /scannow
和(下面建议的)都不起作用regsvr32 "C:\Windows\System32\shell32.dll"
。系统还原目前不是一种选择。
更新 2:
我尝试了@harrymc 提供的链接建议的以下可能的修复方法:
1. 用鼠标左键单击任意文件并按住该按钮。然后按下 Esc 键。没有帮助。
2.在上下文菜单选项中禁用“拖放”,应用它然后再次启用它。没有帮助。
澄清:拖放至应用程序当它们开放的时候仍然有效。唯一停止工作的功能是通过桌面图标打开文档/文件。
另外,如果我尝试使用正确的鼠标按钮时,“打开”上下文菜单项未列出:
还有其他想法吗?
答案1
我认为这可能是注册表的问题。具体来说,我认为这是在 下HKCR
。
我希望您先手动检查一些注册表数据。
警告:编辑注册表可能很危险。请注意!
首先,启动注册表编辑器(regedit.exe
从开始菜单搜索框运行)。
然后导航到HKEY_CLASSES_ROOT\.exe
。在右侧,您应该看到具有数据(Default)
的类型。在下面发表评论REG_SZ
exefile
停在这里如果您的机器上没有这个。
然后导航到HKEY_CLASSES_ROOT\.lnk
。在右侧,您应该看到具有数据(Default)
的类型。在下面发表评论REG_SZ
lnkfile
停在这里如果您的机器上没有这个。
如果您通过了上述检查,那么您可以按照以下步骤尝试解决问题。
警告:编辑注册表可能很危险。警告两次!
以下修复.exe
文件:
导航到
HKEY_CLASSES_ROOT\exefile\shellex\DropHandler
。在右侧您应该会看到(Default)
类型REG_SZ
,但可能没有数据{86C86720-42A0-1069-A2E8-08002B30309D}
。现在,在菜单上选择“文件”->“导出”来备份数据。
导出数据后,您应该尝试编辑项目的数据
(Default)
。双击(Default)
,然后粘贴以下值{86C86720-42A0-1069-A2E8-08002B30309D}
并单击“确定”(或按Enter)。
以下修复.lnk
(Windows 快捷方式)文件:
导航到
HKEY_CLASSES_ROOT\lnkfile\shellex\DropHandler
。在右侧您应该会看到(Default)
类型REG_SZ
,但可能没有数据{00021401-0000-0000-C000-000000000046}
。现在,在菜单上选择“文件”->“导出”来备份数据。
导出数据后,您应该尝试编辑项目的数据
(Default)
。双击(Default)
,然后粘贴以下值{00021401-0000-0000-C000-000000000046}
并单击“确定”(或按Enter)。
之后,关闭注册表编辑器并重新启动explorer.exe
。最简单的方法是注销然后登录。
默认情况下,您还可以拖放到.bat
和.cmd
其他一些文件类型。如果您发现也无法这样做,请找到一台正常运行的 Windows 7 计算机并复制相应的注册表值。
答案2
大多数“放置目标”由 shell32.dll 处理。您可以尝试通过发出以下命令重新注册该文件:
regsvr32 "C:\Windows\System32\shell32.dll"
然后重新启动并检查问题是否仍然存在
只是一个猜测,但也许有帮助
答案3
删除并重新创建桌面图标/快捷方式。
答案4
尝试使用 Windows 7 的“系统还原”实用程序,前提是您已启用并配置它以频繁保存还原点。假设您已运行它,请先打开系统还原。
在开始菜单中System Restore
输入 ,然后单击实用程序。出现向导,按照步骤操作,然后选择您确定一切运行正常的日期,重新启动后,希望一切都已修复。
- -编辑 - -
该问题似乎可能是由于一些损坏的系统文件造成的。
有一个名为系统文件检查器的工具,它可以检查系统文件的完整性,从而有可能确定问题的原因。以下是微软的支持,关于该实用程序。