Я пытаюсь расширить проводник Windows (НЕ IE) с настраиваемой панели в C ++, которая должна выглядеть следующим образом:
и вот похожий вопрос, который я нашел (в C #):
Подобный вопрос
Вопрос о C # и уже получил ответ.
Но я сам нахожу ответ слишком кратким, чтобы я мог следовать ему, вот что я получил:
и мои вопросы:
Я пытался воспроизвести то, что сказал подобный вопрос в течение нескольких дней, но пока не повезло.
Я действительно новичок в BHO и все такое, пожалуйста, помогите мне в этом, спасибо.
Для такого расширения Explorer я создаю 2 объекта. Сначала реализуется BHO (IDispatch и IObjectWithSite). Второй реализует IObjectWithSite, IOleWindow, IDockingWindow, IInputObject и IOleCommandTarget.
1) Логика показа вашего окна зависит от того, что вы хотите реализовать.
2) Родительское окно вы можете получить внутри Second.SetSite:
Site.QueryInterface(IDockingWindowSite, FDockingWindowSite);
FDockingWindowSite.GetWindow(FParent);
3) Просто зарегистрируйте свой BHO как стандартный BHO.
Мне потребовалось много времени, чтобы создать и отладить такое расширение. Если вы не являетесь экспертом в этой области, подумайте еще раз — вам действительно нужен этот функционал. Но если вы действительно решили, что вам нужно, попробуйте сначала создать и зарегистрировать простую BHO. И только когда BHO работает правильно, добавьте реализацию IDockingWindow.