我在我的代碼中創建了一個IExplorerBrowser的實例,在我的一個對話框中創建一個自定義的I/O視圖。我在我的主機類中實現了IServiceProvider和ICommDlgBrowser接口。我使用IExplorerBrowser :: BrowseToIDList方法來填充視圖。如何通過Windows 7庫中的IExplorerBrowser中的文件類型進行篩選?
我想過濾顯示的文件類型(例如只有PNG文件)。如果我用FOLDERID_Pictures(即「我的圖片」)調用BrowseToIDList,我可以使用ICommDlgBrowser :: IncludeObject方法或IFolderFilter :: ShouldShow來限制允許顯示哪些文件。但是,如果我瀏覽Windows 7上的圖片庫(FOLDERID_PicturesLibrary),則不會調用ICommDlgBrowser :: IncludeObject或IFolderFilter :: ShouldShow。
在Win7上過濾庫中的文件有一些限制,我不知道?也許我錯過了一個接口,或者我在某處指定了錯誤的標誌。
任何想法將不勝感激。
[這花了我很長一段時間(https://msdn.microsoft.com/en-us/library/windows/desktop/bb761909%28v=vs.85%29.aspx):「請注意,如果通過調用「IFolderFilterSite :: SetFilter」在瀏覽器上設置了文件夾篩選器,則客戶端不會收到對「ICommDlgBrowser :: IncludeObject」的調用。 – 2015-04-24 11:19:55