Перетаскивание (файл) на значки рабочего стола перестало его открывать, заменено на «Переместить на рабочий стол»

12

Раньше я мог перетаскивать файлы на некоторые значки на рабочем столе (например, Notepad ++, AstroGrep и т. Д.), Чтобы открывать их с помощью приложений, представленных этими значками.

Около месяца назад (точно не могу вспомнить, когда это произошло) система перестала поддерживать эту функцию, и теперь она больше не будет это делать. Вместо этого он будет только «Переместить на рабочий стол» перетаскиваемого файла.

Есть идеи, как восстановить этот (очень удобный) функционал?

Примечания:

  1. Дело не в том, что перетаскивание полностью остановлено. По какой-то причине перестала работать только открытая функция (внутри drag & drop).
  2. Эта функция отлично работает на всех моих компьютерах с Windows 7.
  3. Удаление и повторное создание значков / ярлыков на рабочем столе не помогает.
  4. Я обнаружил довольно много сообщений о том, что « перетаскивание не работает в 64-разрядной версии Windows 7 », но в моем случае они не применяются, потому что кроме потери возможности открывать файл с помощью перетаскивания, копирования и перемещения файлов. Использование перетаскивания все еще работает.

Дополнительная информация:

Я использовал CCleaner для анализа (только! Не «исправления» ...) возможных проблем с реестром, и единственная область, которая может показаться актуальной, - это следующая «Missing Shared 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. Нажмите на любой файл левой кнопкой мыши и удерживайте кнопку нажатой. Теперь нажмите клавишу Escape. Не помогло

2. Отключите функцию «Перетаскивание» в контекстном меню, примените и снова включите. Не помогло


Уточнение. Перетаскивание в приложения, когда они открыты, все еще работает. Единственное, что перестало работать - это открыть документ / файл через значок на рабочем столе.

Также, если я пытаюсь перетаскивать мышью правой кнопкой мыши, пункт контекстного меню «Открыть» не отображается:

введите описание изображения здесь

Дополнительные идеи?

Withheld
источник
1
Что произойдет, если вы начнете перетаскивать файл, нажимая при этом клавиши Windows + D и перетаскивая файл на значок на рабочем столе? вы получаете значок "+" при перетаскивании файла поверх значка?
Веберик
@weberik У меня точно такое же поведение. Нет, я не вижу значок "+" (так как файл, который я перетаскиваю, C:все равно находится на диске). Это странно Раньше работал.
Удержано
1
Вопросы: (1) Существует ли проблема для всех значков? (попробуйте с иконкой для блокнота). (2) Вы когда-нибудь запускали программу очистки реестра, прежде чем заметили проблему?
harrymc
1
@Daniel Я имею в виду, если вы перетащите файл в пункт меню «Пуск» (который технически также является ярлыком) или ярлык, показанный в проводнике Windows, будет ли файл открываться этой программой?
Элвин Вонг
1
Как насчет перетаскивания правой (противоположной левой) кнопкой мыши?
Элвин Вонг

Ответы:

9

Я считаю, что это может быть проблемой в реестре. В частности, я думаю, что это под 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 и скопируйте соответствующие значения реестра.

Элвин Вонг
источник
Благодарность! Я проверил, exefile\shellex\DropHandlerи это именно так, как должно быть. Затем я проверил lnkfile\shellex\DropHandlerи вместо того, что вы перечислили выше {00021401-0000-0000-C000-000000000046}, у меня есть {83D96563-DB11-42DF-92F9-32CE7BA54ED8}. Может ли это быть проблема? Я постараюсь сделать это в тот момент, когда смогу сделать перерыв в текущей задаче. Спасибо!
Удержано
5
И ... будучи любопытным , что я, я не мог сопротивляться погуглить эту {83D96563-DB11-42DF-92F9-32CE7BA54ED8} значение и, конечно же, это , кажется, принадлежит Altova XMLSpy, что это именно то , что я установил на февраль 26, и это более или менее, когда проблема началась ... Я сообщу, когда смогу проверить изменения.
Удержано
2
Успех! и, кстати, мне не нужно было перезапускать explorer.exe (или выходить из системы), чтобы это начало работать. СПАСИБО!!!
Удержано
1

большая часть "целей отбрасывания" обрабатывается shell32.dll. Вы можете попробовать перерегистрировать этот файл, выполнив команду:

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

затем перезагрузите компьютер и проверьте, существует ли проблема

просто дикая догадка, но, возможно, это поможет

weberik
источник
Каковы побочные эффекты этой отмены регистрации shell32.dll? Это относится и к 64-битной Windows 7?
Удержано
1
хорошая «де-регистрация», вероятно, разрушит вашу систему, если это вообще возможно. вот почему я нанимаю вас, чтобы перерегистрировать его, что не должно иметь никаких побочных эффектов :). он должен работать на 64 и 32-битных ОС
weberik
Ой ... извините, я хотел написать перерегистрацию . :) Так что, если я вас правильно понимаю, я могу спокойно попытаться перерегистрировать shell32.dllбез дополнительных побочных эффектов, верно? Или еще лучше: Есть ли способ , чтобы проверить , только если shell32.dllне зарегистрирован?
Удержано
это безопасно, я попробовал вчера, и мой компьютер все еще работает;). Нет простого способа проверить, правильно ли он зарегистрирован. Кстати, ваши «отсутствующие общие библиотеки» не влияют на вашу оболочку Windows.
Веберик
OK. Я только что попробовал regsvr32 "C:\Windows\System32\shell32.dll", перезагрузился и ... проблема сохраняется. Может ли это быть вызвано изменением групповой политики нашим ИТ-отделом, централизованно контролирующим все наши ПК?
Удержано
0

Удалите и заново создайте значки / ярлыки на рабочем столе.

Крис Э. Авис
источник
2
Благодарю. Я попробовал это, но это не помогло.
Удержано
0

Я считаю, что вы повредили реестр, очистив его. Очистка реестра не очень хорошая идея, если вы не очень хорошо знаете об этом.

если ни один из других ответов не исправляет эту странную проблему, я предлагаю использовать восстановление системы для отката Windows до предыдущей точки восстановления системы, датируемой до возникновения проблемы.

Для получения дополнительной информации см. Использование Windows 7 или Vista Восстановление системы .

harrymc
источник
Я не использовал CCleaner для очистки реестра. Я только использовал это, чтобы избавиться от ненужных файлов .
Удержано
1
Но произошло нечто, что было бы невозможно обнаружить без восстановления системы, хотя уничтожение реестра могло быть вызвано одним из установленных вами инструментов. Вопрос: Когда вы перетаскиваете файл над значком блокнота, курсор изменится с «+» на стрелку?
Harrymc
1
Попробуйте также предложения, перечисленные в этой теме .
Harrymc
1
У вас есть огромное количество иконок на рабочем столе? Вы установили какой-либо инструмент организатора рабочего стола? (В любом случае, CCleaner все еще возможен, если он очищал файлы из c: \ windows.)
harrymc
1
Да, странное слово. С сожалением констатирую, что до сих пор считаю, что восстановление системы - единственное практическое решение, если кто-то не придумает более удачную идею.
harrymc
0

Попробуйте использовать «Восстановление системы», полное из Windows 7, то есть, если вы уже включили и настроили его для частого сохранения точек восстановления. Предполагая, что он запущен, сначала откройте восстановление системы.

В меню Пуск введите System Restore, а затем нажмите на утилиту. Подходит мастер, следуйте инструкциям и выберите дату, когда вы точно знали, что все работает нормально, и после перезагрузки, надеюсь, все исправлено.

---Редактировать----

Возможно, проблема связана с повреждением системных файлов.

Существует инструмент под названием Проверка системных файлов, который проверяет целостность системных файлов, что позволяет определить причину проблемы. Вот поддержка Microsoft в отношении этой утилиты.

Барат Бушан
источник
К сожалению, восстановление системы сейчас мне не подходит, поскольку с тех пор я установил слишком много инструментов, необходимых для моей работы. Это может быть последним средством в случае стихийного бедствия и / или когда у меня есть время переустановить вещи, но невозможность перетаскивания открыть - только раздражает, но не останавливает показ.
Удержано
@Daniel, можешь попробовать запустить sfc и посмотреть, сможешь ли ты определить проблему, просто посмотри мое редактирование
Барат Бушан
Только что закончил sfc /scannow: «Защита ресурсов Windows не обнаружила никаких нарушений целостности». Перезагрузка после этого не решила проблему. Попробую regsvr32сейчас ...
Удерживается