Если вы таковым не являетесь, дальше можете не читать. Бонжюр. Еле как разобрался с отстойной структурой com (ещё бы разобраться с тем извращенцем, который её придумал). Остался один совсем маленький, но очень интересный вопрос (во всяком случае, мне) я состряпал com dll-ку. вот так она работает: при нажатии правой кнопки мыши на любом файле появляется один дополнительный пункт меню при выборе которого запускается обработчик. Внимание вопрос: Как сделать 2 дополнительных пункта. Если использовать InsertMenu или аналогичные, то тогда где взять еще один id менюшки В голове у меня вертится вот такая белиберда: QueryContextMenu, IContextMenu, LPCMINVOKECOMMANDINFO, lpVerb Помогите, сильвюпле, Я добро не забываю.
хм. делол тоже 1 пункт.. надо попробовать 2. идеи - в InvokeCommand в CMINVOKECOMMANDINFO есть lpVerb. на него и надо обратить внимание. там поидее младшее слово - идентификатор меню. идентификаторы надо по идее запомнить ещё в QueryContextMenu, при добавлении через InsertMenuItem, и не забыть вернуть 2.
Зайди на rsdn.ru - там где-то я видел целое руководство: "Руководство полного идиота по написанию расширений оболочки - Часть х", (9 частей кажется), выбирай нужный и делай, 100% там 2 пункта меню.
есть такая штука Tortoise SVN - это гуишная обертка вокруг SVN. Так вот там как раз реализованна такая штука - контекстное меню с подпунктами. Исходники можно глянуть здесь http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/src/TortoiseShell/. Если потребует юзернейм и пасворд, то юзера введи guest, а пароль оставь пустым