在PowerShell中创建IShellLibrary实例

时间:2011-12-02 09:49:04

标签: windows com powershell

如何在PowerShell中创建IShellLibraryhttp://msdn.microsoft.com/en-us/library/windows/desktop/dd391719(v=vs.85).aspx)实例? IShellLibrary界面可以从代码中管理Windows 7 libraries

Shell.Application COM对象是否实现了IShellLibrary接口?是否可以将shell对象转换为PowerShell中的IShellLibrary实例?以下是有关如何在PowerShell中创建Shell.Application实例的示例:

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 :(得分:0)

通过调用SHCreateLibrary来获取IShellLibrary,这会创建一个空的IShellLibrary。如果您希望{{1}}用于现有文件夹,则需要SHLoadLibraryFromParsingName或其他相关功能。它们列在IShellLibrary页面的底部。

看起来您需要使用P / Invoke从PowerShell中调用它们。

更新

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