Получить IShellBrowser из IEnumIDList
От: Aniskin  
Дата: 11.03.17 10:09
Оценка:
Имеется NSE. В NSE после при вызове IShellFolder.EnumObjects создается объект, реализующий IEnumIDList. В случае ошибки перечисления хочется вызвать IFolderView2.SetText(FVST_EMPTYTEXT, ErrorText). В SetSite имеется следующий код, который чудесно работает в Windows Vista и Windows 7:

Site.QueryInterface(IServiceProvider, ServiceProvider)
ServiceProvider.QueryService(SID_STopLevelBrowser, IShellBrowser, ShellBrowser)
ShellBrowser.QueryActiveShellView(ShellView)
ShellView.QueryInterface(IFolderView2, FolderView2)
FolderView2.SetText(FVST_EMPTYTEXT, ErrorText)

Но этот код перестал работать в Windows 10 (в 8/8.1 не проверял), ServiceProvider.QueryService выдает ошибку.

Может кто знает что изменилось, и как добраться до IShellBrowser в Windows 10.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.