Sea*_*ean 5 c++ windows shell windows-explorer shell-extensions
我试图用C++中的自定义面板扩展whindows explorer(NOT IE),它应该如下所示:

这是我发现的类似问题(在C#中): 类似的问题
问题是C#,已经得到了答案.
但是我自己发现答案对我来说有点太简短了,这就是我得到的:
我的问题是:
我试图重现类似的问题几天所说的,但现在没有运气.
我是BHO的新手和所有这些东西,请帮助我解决这个问题,谢谢.
对于这样的资源管理器扩展,我创建了 2 个对象。首先实现BHO(IDispatch和IObjectWithSite)。第二个实现 IObjectWithSite、IOleWindow、IDockingWindow、IInputObject 和 IOleCommandTarget。
1)窗口显示的逻辑取决于你想要实现的目标。
2)您可以进入Second.SetSite的父窗口:
Site.QueryInterface(IDockingWindowSite, FDockingWindowSite);
FDockingWindowSite.GetWindow(FParent);
Run Code Online (Sandbox Code Playgroud)
3)只需将您的BHO注册为标准BHO即可。
我花了很长时间来创建和调试这样的扩展。如果您不是这个领域的专家,请再考虑一下 - 您真的需要这个功能吗?但如果您确实决定需要,那么首先尝试创建并注册简单的 BHO。并且只有当 BHO 正常工作时才添加 IDockingWindow 实现。