Создайте экземпляр IShellLibrary в PowerShell - PullRequest
0 голосов
/ 02 декабря 2011

Как создать экземпляр IShellLibrary (http://msdn.microsoft.com/en-us/library/windows/desktop/dd391719(v=vs.85).aspx) в PowerShell?) Интерфейс IShellLibrary позволяет управлять библиотеками Windows 7 из кода.

Реализует ли объект Shell.Application COM интерфейс IShellLibrary? Возможно ли преобразовать объект оболочки в экземпляр IShellLibrary в PowerShell? Ниже приведен пример создания экземпляра Shell.Application в PowerShell:

New-Object -ComObject Shell.Application

Когда я пытаюсь привести объект к следующему результату:

PS C:\Users\knut> [IShellLibrary](New-Object -ComObject Shell.Application)
Unable to find type [IShellLibrary]: make sure that the assembly containing this type is loaded.
At line:1 char:16
+ [IShellLibrary] <<<< (New-Object -ComObject Shell.Application)
    + CategoryInfo          : InvalidOperation: (IShellLibrary:String) [], RuntimeException
    + FullyQualifiedErrorId : TypeNotFound

Где находится интерфейс IShellLibrary? Как я могу импортировать его в сеанс PowerShell?

1 Ответ

0 голосов
/ 02 декабря 2011

Вы получаете IShellLibrary, вызывая SHCreateLibrary, который создает пустой.Если вы хотите IShellLibrary для существующей папки, вам понадобится SHLoadLibraryFromParsingName или одна из других связанных функций.Они перечислены внизу страницы IShellLibrary.

Похоже, вам нужно использовать P / Invoke для вызова их из PowerShell.

Обновление

http://www.leeholmes.com/blog/2009/01/19/powershell-pinvoke-walkthrough/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...