C++ 如何获取GetFolder(IID_ExplorerPaneVisibility)调用
我不熟悉名称空间扩展。我正在尝试禁用命名空间扩展的导航窗格 我的Shell视图实现实现了IFolderView::GetFolder,它返回一个IShellFolder对象。Shell文件夹类正在实现IExplorerPaneVisibility::GetPaneState方法 但我没有接到GetFolder(IID_ExplorerPaneVisibility)的电话。有人能帮我吗C++ 如何获取GetFolder(IID_ExplorerPaneVisibility)调用,c++,windows,windows-shell,shell-extensions,C++,Windows,Windows Shell,Shell Extensions,我不熟悉名称空间扩展。我正在尝试禁用命名空间扩展的导航窗格 我的Shell视图实现实现了IFolderView::GetFolder,它返回一个IShellFolder对象。Shell文件夹类正在实现IExplorerPaneVisibility::GetPaneState方法 但我没有接到GetFolder(IID_ExplorerPaneVisibility)的电话。有人能帮我吗 STDMETHODIMP ShellFolderViewImpl::GetFolder(REFIID riid,
STDMETHODIMP ShellFolderViewImpl::GetFolder(REFIID riid, VOID ** ppv)
{
if (riid == IID_IExplorerPaneVisibility)
{
this->QueryInterface(riid, (void**)ppv);
}
return S_OK;
}
STDMETHODIMP ShellFolderViewImpl::GetPaneState(REFEXPLORERPANE ep,EXPLORERPANESTATE * peps)
{
if (ep == EP_NavPane)
*peps = EPS_DEFAULT_OFF;
else if (ep == EP_Commands)
*peps = EPS_DEFAULT_OFF;
else if (ep == EP_DetailsPane)
*peps = EPS_DEFAULT_OFF;
else if (ep == EP_AdvQueryPane)
*peps = EPS_DEFAULT_OFF;
else if (ep == EP_QueryPane)
*peps = EPS_DEFAULT_OFF;
else
*peps = EPS_DONTCARE;
return S_OK;
}
MSDN说
IExplorerPaneVisibility实现是从Shell中检索的
文件夹。然后,从视图中检索Shell文件夹
我将此理解为:;它将查询IShell文件夹的接口,以获取IExplorerPaneVisibility实现
您还应该检查,它显示了一些可能需要关闭某些窗格的变通方法
我希望这里的代码不是您真正的实现,您不应该在GetFolder中为您不认识的东西返回S_OK MSDN说
IExplorerPaneVisibility实现是从Shell中检索的
文件夹。然后,从视图中检索Shell文件夹
我将此理解为:;它将查询IShell文件夹的接口,以获取IExplorerPaneVisibility实现
您还应该检查,它显示了一些可能需要关闭某些窗格的变通方法
我希望这里的代码不是您真正的实现,您不应该在GetFolder中为您不认识的东西返回S_OK