IShellFolderView
インターフェイスが Windows 7 の時点で Windows シェルでサポートされなくなったことは知っています。ただし、そのインターフェイスによって公開されるメソッド (つまりRemoveObject
および) にはまだ関心があります。AddObject
次の呼び出しはコンパイルされなくなりました
pShellView->QueryInterface(IID_IShellFolderView, (LPVOID*)&pShellFolderView)
riid:が(最新の sdk)IID_IShellFolderView
に存在しなくなったためです。フォルダー ビューでフォルダー オブジェクトを削除/追加または (非表示/表示shlobj.h
)できるいくつかのメソッドにアクセスする必要があります。次の呼び出しを提案する記事を読みました。
SHShellFolderView_Message(?m_hwnd_cabinet?, SFVM_REMOVEOBJECT, (LPARAM)pidl);
しかし、それは何の効果ももたらさないようです。提供された hwnd (つまり m_hwnd_cabinet) が正しいものではないのではないかと思います。正しいハンドルが何であるか、またどのように作成できるか教えてもらえますか? それとも別の方法がありますか?
ありがとうございました!
このプロジェクトhttps://github.com/stefankueng/tools/blob/main/StExBar/src/Filter.cpp#L44を微調整しようとしていますが、IID_IShellFolderView を使用しています。