Поправка: Бавно щракване с десния бутон и сривове на Explorer, причинени от разширения на Shell

Когато щракнете с десния бутон върху файл или папка на някои компютри, контекстното меню може да отнеме много секунди, за да се появи. Тази статия ви казва как да коригирате проблемите с бавното щракване с десния бутон и други проблеми с разширението на обвивката на манипулатора на контекстното меню в Windows. Ето някои от симптомите, с които може да се сблъскате.

  • Когато щракнете с десния бутон върху файл/папка, може да има огромно забавяне, преди Windows да покаже контекстното меню.
  • Когато се опитате да изпразните кошчето, вместо това се отваря друго приложение.
  • Когато изберете няколко файла, щракнете с десния бутон и щракнете върху Отвори / Печат, нищо не се случва. Докато работи, когато е избран един файл.
  • Съобщение за грешка „Windows Explorer срещна проблем и трябва да се затвори. Извиняваме се за неудобството“, когато щракнете с десния бутон върху папка.
  • Щракването с десния бутон е изключително бавно само когато мрежа картата е активирана.
  • Когато щракнете с десния бутон върху папка и изберете Properties, нищо може да не се случи.
  • Менюто с десен бутон става грозно (класически изглед) след инсталиране на по-стара версия на Notepad++
  • Грешка при предотвратяване на изпълнение на данни (DEP) възниква при стартиране на Windows Explorer или контролния панел.
  • Нищо не се случва, когато щракнете върху Слайдшоу или Печат в панела със задачи или лентата на File Explorer.
  • Когато щракнете върху „Настройване на архивиране“ или щракнете върху „Промяна на настройките“ в Windows 7 Архивиране и възстановяване, нищо не се случва или Система32 папка се отваря.
  • Когато щракнете с десния бутон върху Старт, за да получите достъп до менюто Win+X (Power User) в Windows 10, нито един от преките пътища не работи. В същото време те работят правилно от папката с преки пътища Win+X.
  • Щракнете с десния бутон върху контекстното меню Стартиране като администратор не работи.
  • Имената на папките са съкратени след точката (точката) в Explorer (причинено от TortoiseSVN разширение на обвивката)

Причина

Лошо кодирано разширение на обвивката на манипулатора на контекстно меню, добавено от програма на трета страна, може да причинява някой от горните симптоми.

Манипулаторът на контекстното меню е вид разширение на обвивката, което добавя команди към менюто ви с щракване с десен бутон. Например записите „Сканиране с Windows Defender“, „Задаване като фон на работния плот“ и т.н., които виждате в менюто с щракване с десния бутон, са манипулатори на контекстно меню, включени по подразбиране в Windows. По същия начин програмите на трети страни могат да добавят свои собствени разширения.

Когато обвивката на Explorer се срине, тя записва запис в дневника на събитията на приложението. Можете да отворите Event Viewer и да проверите за скорошни грешки в журнала на приложения 1000 за да намерите повече информация за катастрофата.

В някои случаи точното име на разширението на обвивката в нарушение се показва в регистъра на събитията на приложението. Ето един пример:

Име на регистрационния файл: Приложение. Източник: Грешка в приложението. Дата: ID на събитието: 1000. Категория на задачите: (100) Ниво: Грешка. Ключови думи: Класика. Потребител: N/A. Компютър: Описание: Име на приложението с грешка: explorer.exe, версия: 10.0.10240.16405, времеви печат: 0x55b455cf. Име на неизправния модул:IDTNCPL.cpl, версия: 1.0.6365.0, времеви печат: 0x4e68a44d. Код на изключение: 0xc0000005. Отместване на грешка: 0x00001151. Идентификатор на неизправния процес: 0x1284. Начален час на неизправното приложение: 0x01d0d2a6d2ff07fc. Грешен път на приложението: C:\WINDOWS\explorer.exe. Път на неизправния модул: C:\WINDOWS\system32\IDTNCPL.cpl. Идентификатор на отчета: 1da3cf69-34ba-4871-bb74-5bbaa97e8eb0 

Ето още един пример, в който разширението на обвивката на Foxit PhantomPDF ConvertToPDFShellExtension_x64.dll причини катастрофата.

Грешка 1000 при преглед на събитие при срив в разширението на контекстното меню

Въпреки това, в някои случаи името на модула може да се покаже като shell32.dll вместо действителния модул на трета страна, който е причинил проблема.

Моля, опитайте първо това!

Менюто „Изпращане до“ (не разширенията на обвивката) причинява ли забавянето?

[Ако сте попаднали на тази страница, за да отстраните неизправност при срив (вместо проблема със „забавяне на менюто с десния бутон“) при щракване с десния бутон, пропуснете тази част и отидете на ShellExView раздел по-долу.]

Разширението на обвивката на манипулатора на контекстно меню на трета страна може да не винаги е виновник за забавянето на менюто с десния бутон. Забавянето може да бъде причинено и от елементите в менюто ви Изпращане - особено външните устройства и мрежовите устройства. Когато щракнете с десния бутон върху файл или папка, Windows изгражда списък с елементи от менюто и също така изброява елементите за изпращане до.

Чрез активиране на DelaySendToMenuBuild и NoDrivesInSendToMenu настройките на системния регистър, можете да накарате менюто с десния бутон да се показва много по-бързо. Това работи добре и в Windows 10.

delaysendtomenubuild

За повече информация вижте статията Скрити настройки на системния регистър за менюто „Изпращане до“..

Ако това ускорява менюто с десния бутон, тогава можете да пропуснете останалите инструкции в тази публикация.

В случай, че горните настройки на системния регистър не помогнат дори след рестартиране, следващата стъпка е да изолирате разширението на обвивката на манипулатора на контекстното меню, което може да причини проблема.

[Поправка] Проблеми с десния бутон, причинени от разширенията на обвивката

Манипулаторите на контекстното меню могат да се зареждат от много различни области в системния регистър. Може да е трудно за крайния потребител да определи кое разширение причинява проблема. Нека видим как лесно да стесним проблема с помощта на помощната програма ShellExView.

ShellExView от Nirsoft е отличен инструмент за преглед и управление на всички инсталирани разширения на обвивката. Той показва описанието на файла, версията, информацията за компанията, местоположението, името на файла и др. Този инструмент ви помага без усилие да деактивирате разширение, от което не се нуждаете. Този инструмент може да се използва за определяне на проблемното разширение на обвивката.

Ефективно използване на ShellExView за разрешаване на проблеми с десния бутон

  1. Изтегли ShellExView от Nirsoft.net и го стартирайте. Той сканира системния регистър за всички разширения на обвивката.
    отстраняване на неизправности, щракнете с десния бутон на мишката Проблеми, причинени от разширенията на Shell - shellexview
  2. От менюто Опции щракнете Скриване на всички разширения на Microsoft за да активирате отметката върху него. Това ви предпазва от случайно деактивиране на вградено разширение за обвивка на Windows.
    отстраняване на неизправности, щракнете с десния бутон на мишката Проблеми, причинени от разширенията на Shell - shellexview
    Това изброява всички разширения за обвивки на трети страни, инсталирани във вашата система.
    отстраняване на неизправности, щракнете с десния бутон на мишката Проблеми, причинени от разширенията на Shell - shellexview

    Разширенията на обвивката са различни типове – например манипулатор на икони, манипулатор на наслагване, контекстно меню и т.н. Тъй като се занимаваме с проблем с щракване с десния бутон в Windows, ние се интересуваме особено от манипулаторите на контекстното меню.

  3. Сортирайте резултатите с помощта на Тип, така че манипулаторите на контекстното меню да се показват заедно.
  4. След това деактивирайте манипулаторите на контекстното меню един по един. Или още по-добре, деактивирайте първата половина от показаните елементи.
  5. След като деактивирате елемент или група от елементи, използвайте Рестартирайте ExplorerCtrl + Е опция за рестартиране на обвивката, за да проверите дали това решава проблема. Рестартирането на обвивката на Explorer е съществена стъпка. Това не трябва да се пропуска.
    Забележка: Можете също да използвате диспечера на задачите за рестартирайте обвивката.

  6. Ако деактивирането на един или група елементи не реши проблема, активирайте елемента(ите) обратно и деактивирайте следващия набор от манипулатори на контекстното меню, които не са на Microsoft в долната половина, и рестартирайте Explorer. Повторете този процес, за да включите и изключите разширенията на контекстното меню и да определите кое причинява проблема ви.

икона на крушка за съветиОще по-бърз метод е да разделите списъка с манипулатори на контекстното меню на две групи, като деактивирате половината от записи наведнъж, рестартирате и отново тествате поведението.

Име на потребител на Windows JClarke коментира:

„Можете да ги деактивирате… те казват „един по един“ и да видите какъв ефект има върху проблема. Направих го много по-бързо, като разполових списъка, деактивирах половината от записи с един замах, рестартирах и опитах с десния бутон. Сработи, така че знаех, че просто трябва да го стесня, точно както правехме с MSConfig. След това продължих да разполовявам списъка, докато не бяха само няколко и ги правех едно по едно. Проблемът е, че трябва да рестартирате между опитите, за да получите точно тестване на резултатите от вашето деактивиране. Не открих, че излизането е последователно."

Правете това, докато проблемът не бъде разрешен и накрая трябва да можете да идентифицирате разширението на обвивката на манипулатора на контекстното меню.

Забележка: Не винаги манипулаторът на контекстното меню, но манипулаторът на PropertySheet или манипулаторът на икона понякога може да бъде виновникът. Някои читатели съобщават, че манипулаторът на лист за свойства „IIS W3ext Module“ е отговорен за проблема със свойствата на папката на компютър, работещ с по-стара версия на Windows. В друг особен случай самият системен файл shimgvw.dll беше виновникът. Тези модули така или иначе не съществуват в Windows 10.

Обвивката на Explorer зарежда разширения от следните типове:

  • Манипулатор на колони
  • Контекстно меню
  • Манипулатор на куката за копиране
  • Манипулатор на данни
  • Манипулатор с плъзгане и пускане
  • Манипулатор на пускане
  • Манипулатор на икони
  • Манипулатор за наслагване на икона
  • Манипулатор на InfoTip
  • Манипулатор за визуализация
  • Манипулатор на имоти
  • Лист за имоти
  • Манипулатор за търсене
  • Папка Shell
  • ShellExecute Hook
  • Манипулатор на миниатюри

Манипулаторите на контекстното меню се зареждат, когато щракнете с десния бутон върху файл или папка или дори когато щракнете двукратно върху файл или папка. Като деактивирате нежеланите манипулатори на контекстното меню, можете да избегнете explorer.exe се срива и закъснения при щракване с десния бутон.

Отстраняване на проблема ръчно с помощта на редактора на системния регистър

Ако решите да отстраните този проблем, без да използвате ShellExView или подобни инструменти, ето малко основна информация за това как да го направите. Въпреки това, това е само за напреднали потребители, които са удобни с използването на редактора на системния регистър.

Първо, наблюдавайте кога възниква проблемът - когато щракнете с десния бутон върху конкретен тип файл? или всички типове файлове? или само при щракване с десен бутон върху папки?

Манипулаторите на контекстното меню могат да се зареждат от всяка от тези области:

Местоположение Описание
HKCR\*\shellex\contextmenuhandlers Файлове
HKCR\AllFileSystemObjects\shellex\contextmenuhandlers Файлове и папки с файлове
HKCR\Folder\shellex\contextmenuhandlers Папки (виртуални и реални)
HKCR\Directory\shellex\contextmenuhandlers Файлови папки
HKCR\[ProgID]\shellex\contextmenuhandlers Файлов клас
HKCR\Directory\Background\shellex\ContextMenuHandlers Фон на работния плот и папка
HKCR\SystemFileAssociations\[.file_ext]\shellex\ContextMenuHandlers Файлове
HKCR\SystemFileAssociations\[PerceivedType]\shellex\ContextMenuHandlers Файлове от определен тип („Възприемащ тип“)
desktop.ini Папка (контекстно меню за всяка папка)

Забележка:HKCR е краткото име за HKEY_CLASSES_ROOT възел на системния регистър.

Свързана статияУправлявайте записите в контекстното меню за папки, устройства и обекти на пространството от имена

Ако някой от по-горе обяснените симптоми се появи, когато работите с папка, тогава може да се наложи да проверите манипулаторите на контекстното меню, заредени в тези области (Всички обекти на файловата система, Папка, Указател). Ако е само за а .текст файл, проверете инсталираните манипулатори за файловия клас на .текст (HKCR\txtfile). Вижте как да картографирате a файлово разширение до ProgId.

Под ContextMenuHandlers ключ на системния регистър, може да видите един или повече подключа; всеки ключ представлява разширение на обвивката на манипулатора на контекстно меню. Ключовете може да имат правилен етикет или да съдържат GUID като име.

отстраняване на неизправности, щракнете с десния бутон на мишката Проблеми, причинени от разширенията на Shell - shellexview

GUID могат да бъдат разгледани в мрежата или от HKCR\CLSID\{GUID}\InProcServer32 местоположение в системния регистър, за да знаете съответната програма и .dll име на файл.

Отворете редактора на системния регистър и архивирайте избрания клон, изтрийте манипулаторите на контекстното меню един по един, за да тествате. След всяка промяна в системния регистър, вие трябва дарестартирайте обвивката на Explorer за да влязат в сила промените. Тук е удобен ShellExView. Тя включва Ctrl + Е пряк път за рестартиране на Explorer.

Свързана статия„Ново“ контекстно меню на работния плот Бавно в Windows 10 v1809

Бавно щракване с десен бутон само на компютри в мрежа?

В някои случаи, които не са свързани с разширенията на обвивката, менюто с десния бутон може да се появи изключително бавно, когато системата е свързана към мрежа. А деактивирането на wi-fi адаптера или ethernet връзката може да възстанови нормалната функционалност при щракване с десния бутон. Както беше казано по-рано, това е проблем с разширение, различен от обвивката, обикновено причинен от добавяне на опция от контекстно меню, сочеща към програма, разположена в мрежов споделен ресурс.

Ако приемем, че WinZip е поставен на споделено местоположение или файлов сървър, когато потребителят стартира WinZip от споделеното в мрежата и позволява интеграцията на WinZip Shell в тяхната система, записът в системния регистър ще сочи към файл в мрежовото местоположение, напр. като:

HKEY_CLASSES_ROOT\WinZip\shell\open\command

С (по подразбиране) стойност, присвоена следното:

\\192.168.0.8\programs\winzip.exe "%1"

С горната настройка, ако файловият сървър или мрежовият компютър, който хоства програмата, е изключен и когато щракнете с десния бутон върху файл на вашия компютър, ще видите огромно забавяне. И могат да се наблюдават някои от следните симптоми.

  • Понякога ще изпитате бавно щракване с десен бутон, само за първи път след ново рестартиране.
  • Също така ще видите, че някои пакети се прехвърлят през мрежата (икона за известие в лентата на задачите.)
  • Може също да забележите, че деактивирането на услугата DHCP ускорява показването на менюто с десния бутон на мишката в някои системи.

Как намирате записите в системния регистър, сочещи към файлове в мрежов дял?

Използване на ShellMenuView

ShellMenuView е друг инструмент от Nirsoft, който изброява елементите на статичното контекстно меню (разширения без обвивка) от системния регистър. Този инструмент може да ви помогне да деактивирате/активирате елементи от менюто или да преминете към съответния ключ на системния регистър с помощта на редактора на системния регистър.

Стартирайте ShellMenuView и го оставете да попълни елементите.

отстраняване на неизправности, щракнете с десния бутон на мишката Проблеми, причинени от разширенията на Shell - shellmenuview

Сортирайте по колоната Име на файл, за да идентифицирате бързо UNC пътищата, сочещи към мрежов компютър или картографирани букви на мрежово устройство.

Щракнете с десния бутон върху записа и щракнете Деактивирайте избраните елементи за да деактивирате показването на елемента от менюто. За да премахнете изцяло записа, щракнете с десния бутон върху елемента и щракнете върху Отвори в RegEdit.

Това ви отвежда до съответния клон в редактора на системния регистър. Архивирайте ключа чрез експортиране в a .reg файл, и след това изтрийте клона.

Използване на RegScanner

Друг вариант е да използвате RegScanner помощна програма от Nirsoft. RegScanner е малка помощна програма от Nirsoft, която ви позволява да сканирате регистъра, да намерите желаните стойности на системния регистър, които отговарят на посочените критерии за търсене, и да ги покажете в един списък. След като намерите стойностите на системния регистър, можете лесно да преминете към правилната стойност в RegEdit, просто като щракнете двукратно върху желания елемент от системния регистър. Трябва да търсите стойностите в системния регистър, чието поле за данни започва с низа \\ (UNC път)

Стартирайте RegScanner и конфигурирайте опциите за търсене, както следва:

отстраняване на неизправности, щракнете с десния бутон на мишката Проблеми, причинени от разширенията на Shell - regscanner
Щракнете върху бутона Сканиране. Сортирайте резултатите от търсенето по колона „Данни“ и намерете записи, съдържащи мрежовия дял — UNC път или картографирана буква на устройството.

отстраняване на неизправности, щракнете с десния бутон на мишката Проблеми, причинени от разширенията на Shell - regscanner

Сега знаете записа, който причинява забавяне на щракване с десния бутон. Отидете на това конкретно място в Regedit, архивирайте съответния ключ(ове) и след това изтрийте нарушителя(ите).

Надявам се, че това ръководство ви е било полезно да коригирате проблеми с бавния щракване с десния бутон, сривове на Explorer и други проблеми с производителността, причинени от манипулатори на контекстното меню в Windows.


Една малка молба: Ако тази публикация ви е харесала, моля, споделете я?

Едно "малко" споделяне от вас сериозно би помогнало много за развитието на този блог. Някои страхотни предложения:
  • Закачете го!
  • Споделете го с любимия си блог + Facebook, Reddit
  • Twitter го!
Така че много ви благодаря за подкрепата, мой читателю. Това няма да отнеме повече от 10 секунди от времето ви. Бутоните за споделяне са точно отдолу. :)