拖放(文件)到桌面图标不再打开它,取而代之的是“移到桌面”


12

我曾经能够将文件拖放某些桌面图标上(例如Notepad ++,AstroGrep等),以使用这些图标代表的应用程序打开它们。

大约一个月前(无法确切记得发生的时间),系统停止支持此功能,现在不再可用。取而代之的是,它只会拖放到桌面”

知道如何还原此功能(非常方便)吗?

笔记:

  1. 不是拖放完全停止了。只是出于某种原因而停止工作的开放功能(在拖放操作之内)。
  2. 在所有其他Windows 7计算机上,此功能都可以正常使用。
  3. 删除并重新创建桌面图标/快捷方式无济于事。
  4. 我发现了很多关于“ 在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 /scannowregsvr32 "C:\Windows\System32\shell32.dll"(以下建议)工作。现在无法进行系统还原。


更新2:

我尝试了@harrymc提供的链接建议的以下可能的修复:

1. 用鼠标左键单击任何文件,然后按住该按钮。现在按退出键。没有帮助。

2.在上下文菜单选项中禁用“拖放”,应用它,然后再次启用它。没有帮助。


澄清:在打开应用程序将其拖放仍然可以。停止工作的唯一一件事就是通过桌面图标打开文档/文件。

另外,如果我尝试拖放使用鼠标键,在“打开”上下文菜单项中未列出:

在此处输入图片说明

还有其他想法吗?


1
如果您开始拖动文件,同时按Windows键+ D然后将文件放在桌面图标上会发生什么?在图标上拖动文件时会得到“ +”图标吗?
weberik

@weberik我得到相同的确切行为。不,我没有“ +”图标(因为我拖动的文件仍然在C:驱动器上)。真奇怪 它曾经工作。
隐瞒了2013年

1
问题:(1)是否存在所有图标问题?(尝试使用记事本的图标)。(2)您是否有时在注意到问题之前就运行了注册表清理程序?
harrymc

1
@Daniel我的意思是,如果将文件拖到开始菜单项(从技术上来说也是快捷方式)或Windows资源管理器中显示的快捷方式,该程序会打开该文件吗?
Alvin Wong

1
您如何用鼠标右键(与鼠标左键相反)拖动?
Alvin Wong

Answers:


9

我相信这可能是注册表中的问题。我特别认为这是根据HKCR


我希望您首先手动检查一些注册表数据。

警告:编辑注册表可能很危险。警告您!

首先,启动注册表编辑器(regedit.exe从开始菜单搜索框运行)。

然后导航到HKEY_CLASSES_ROOT\.exe。在右侧,您应该看到具有数据(Default)的类型。如果您的计算机上没有此注释,请在下面评论并在此处停止REG_SZexefile

然后也导航到HKEY_CLASSES_ROOT\.lnk。在右侧,您应该看到具有数据(Default)的类型。如果您的计算机上没有此注释,请在下面评论并在此处停止REG_SZlnkfile


如果您通过了上述检查,则可以按照以下步骤尝试解决问题。

警告:编辑注册表可能很危险。您被警告两次!

以下修复.exe文件:

导航至HKEY_CLASSES_ROOT\exefile\shellex\DropHandler。在右侧,您应该看到(Default)类型REG_SZ,但可能没有数据{86C86720-42A0-1069-A2E8-08002B30309D}

现在,在菜单上选择“文件”->“导出”以备份数据。

导出数据完成后,应尝试编辑item的数据(Default)。双击(Default),然后粘贴以下值{86C86720-42A0-1069-A2E8-08002B30309D},然后单击“确定”(或按Enter)。

以下修复程序.lnk(Windows快捷方式)文件:

导航至HKEY_CLASSES_ROOT\lnkfile\shellex\DropHandler。在右侧,您应该看到(Default)类型REG_SZ,但可能没有数据{00021401-0000-0000-C000-000000000046}

现在,在菜单上选择“文件”->“导出”以备份数据。

导出数据完成后,应尝试编辑item的数据(Default)。双击(Default),然后粘贴以下值{00021401-0000-0000-C000-000000000046},然后单击“确定”(或按Enter)。

之后,关闭注册表编辑器并重新启动explorer.exe。简单的方法是先注销然后再登录。

默认情况下,你也可以下降到.bat.cmd有的更多的文件类型。如果发现还不能,请找到运行正常的Windows 7计算机并复制相应的注册表值。


谢谢!我检查了exefile\shellex\DropHandler,这是应该的。然后,我检查了lnkfile\shellex\DropHandler,而不是上面上面列出的内容{00021401-0000-0000-C000-000000000046} {83D96563-DB11-42DF-92F9-32CE7BA54ED8}。可能是问题所在吗?我将尝试从当前正在进行的任务中休息一下。谢谢!
2013年

5
而且...很好奇,我无法拒绝谷歌搜索这个{83D96563-DB11-42DF-92F9-32CE7BA54ED8}的值,而且可以肯定的是,它似乎属于Altova XMLSpy,这正是我在2月安装的26,问题开始时或多或少...我会在可以确认更改时报告。
2013年

2
成功!顺便说一句,我不必重新启动explorer.exe(或注销)即可开始工作。谢谢!!!
2013年

1

大多数“放置目标”由shell32.dll处理。您可以尝试通过发出以下命令来重新注册该文件:

regsvr32 "C:\Windows\System32\shell32.dll"

然后重新启动并检查问题是否仍然存在

只是一个疯狂的猜测,但也许有帮助


取消注册shell32.dll有哪些副作用?这是否也适用于64位Windows 7?
版主

1
如果可能的话,“注销”注册可能会破坏您的系统。那就是为什么我雇用您“重新”注册它,这根本没有副作用:)。它应适用于64位和32位操作系统
weberik 2013年

糟糕...抱歉,我要写重新注册信息。:)因此,如果我对您的理解正确,那么我可以安全地尝试重新注册,shell32.dll而不会产生进一步的副作用,对吗?或更妙的是:是否有一种方法只能检查是否shell32.dll未注册?
2013年

它的安全性,我昨天尝试过,但我的计算机仍然可以工作;)。没有简单的方法来检查其100%是否正确注册。顺便说一句,“缺少共享的dll”对Windows Shell无效。
weberik

好。我刚刚尝试过regsvr32 "C:\Windows\System32\shell32.dll",重新启动后...问题仍然存在。这是由IT部门集中控制所有PC的组策略更改引起的吗?
2013年


0

我相信您已经通过清理注册表损坏了注册表。如果您不太了解注册表,则不是一个好主意。

如果没有其他答案可以解决这个奇怪的问题,我的建议是使用系统还原将Windows回滚到问题发生之前的先前系统还原点。

有关更多信息,请参见使用Windows 7或Vista系统还原


我没有使用CCleaner清理注册表。我只是用它来删除不需要的文件
2013年

1
但是发生了某些事情,如果没有系统还原,可能无法显示出来,尽管注册表破坏实际上可能是由您安装的工具之一引起的。问题:将文件拖到记事本图标上时,光标是否从具有“ +”变为具有箭头?
harrymc 2013年

1
还尝试此线程中列出的建议。
harrymc

1
桌面上是否有大量图标?您是否安装了任何桌面管理器工具?(无论如何,CCleaner仍然有可能从c:\ windows中清除文件。)
harrymc

1
是的,这个词很奇怪。我很遗憾地说,除非有人提出更好的主意,否则我仍然认为系统还原是唯一可行的解​​决方案。
哈里麦克

0

尝试使用Windows 7的“系统还原”功能,也就是说,如果您已经启用并配置了它以经常保存还原点。假设您正在运行它,只需先打开系统还原即可。

在开始菜单中,键入System Restore,然后单击实用程序。出现一个向导,按照步骤进行操作,然后选择您确定可以确定一切运行良好的日期,并在重新启动后希望所有问题都已修复。

- -编辑 - -

该问题似乎可能是由于某些损坏的系统文件所致。

有一个名为“系统文件检查器”的工具,该工具检查系统文件的完整性,这有可能确定问题的原因。关于该实用程序,这是Microsoft的支持


不幸的是,由于我从那时开始安装了太多工作所需的工具,因此系统还原现在对我来说不是一个选择。如果发生灾难和/或我有时间重新安装东西,这可能是万不得已的方法,但是无法拖放来打开只是烦人的事,而不是放映机。
2013年

@Daniel,您可以尝试运行sfc吗,看看是否可以确定问题,请看我的编辑
Barath

刚完成运行sfc /scannow“ Windows资源保护未发现任何完整性违规。” 之后重新启动并不能解决问题。要去尝试regsvr32,现在...
版主
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.