Написав расширение оболочки Windows (ContextMenuHandler), и зарегистрировав его в
HKCR\*\shellex\ContextMenuHandlers\MyExtension,
я обнаружил, что при щелчке правой кнопки мыши на ярлыке, моему расширению передается не имя ярлыка, а имя объекта, на который этот ярлык ссылается, хотя хотелось бы, чтобы просто передавалось имя ярлыка.
Попробовал зарегистрировать расширение так:
HKCR\*\shellex\ContextMenuHandlers\MyExtension
HKCR\lnkfile\shellex\ContextMenuHandlers\MyExtension.
Вроде сработало, для ярлыка стал передавать его имя (в Windows XP). Однако обнаружилось, что в Windows 98 при щелчке правой конпкой на ярлыке в контекстном меню появляется аж два одинаковых пункта меню. Судя по всему, проводник инициализирует расширение два раза — один раз для объекта *, а второй — для lnkfile, так как при выборе одного пункта передается имя ярлыка, а при выборе второго — имя объекта, на который ярлык ссылается.
Уже долго ищу как решить эту проблему, буду благодарен, если кто-нибудь подскажет способ.
17.02.06 15:31: Перенесено модератором из 'Прочее' — Hacker_Delphi