Проблема отладки расширения оболочки в Vista (IShellFolder)

StackOverflow https://stackoverflow.com/questions/623799

  •  05-07-2019
  •  | 
  •  

Вопрос

Я создал расширение оболочки Windows с помощью ATL (Visual Studio 2008). Он имеет следующие модули, и каждый модуль представляет собой отдельный простой объект ATL со своим собственным файлом .rgs для регистрации: -

<Ол>
  • IShellFolder / IShellView - > Для виртуального диска в проводнике Windows
  • IContextMenu / IShellExtInit - > Для всплывающего меню файлов и папок
  • IShellIconOverlayIdentifier - для отображения значков наложения для файлов и папок
  • IShellPropSheetExt / IShellExtInit - > Для пользовательской страницы свойств в файле & amp; Свойства папки
  • Вышеописанное прекрасно работает в WinXP, и я могу отлаживать это расширение оболочки в WinXP. Но как только я переключаюсь на Vista, я получаю только вызовы методов для (2) и (4). Диск создается в проводнике Windows, но основные методы не вызываются, когда я нажимаю на него. Хотя, когда я щелкаю правой кнопкой мыши, меня вызывают (2) и когда я выбираю " Свойства " для файла или папки я получаю код (4).

    Есть ли какой-то интерфейс, который мне не хватает для (1) и (3) в Vista. Я не смог найти полную и подробную документацию по написанию Shell Extensions для Vista на MSDN. Я уже просмотрел статьи CodeProject о расширениях оболочки.

    Это было полезно?

    Решение

    Проблема была из-за использования XML-указателя SMART. У него были проблемы при вызове Release ().

    Проверьте эту ссылку Сбой Internet Explorer, когда MSXML2 :: IXMLDOMDocumentPtr - > Release () называется

    Другие советы

    Убедитесь, что ваши расширения правильно обрабатывают инициализацию, иначе verclsid.exe не позволит вашему расширению загрузиться. verclsid.exe сначала загружает расширения оболочки и быстро проверяет их, а затем отправляет в оболочку сообщение «ok», указывающее на безопасность загрузки расширения.

    Смотрите здесь некоторые сведения о verclsid.exe.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top