如何在PowerShell中创建IShellLibrary
(http://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会话?
答案 0 :(得分:0)
通过调用SHCreateLibrary
来获取IShellLibrary
,这会创建一个空的IShellLibrary
。如果您希望{{1}}用于现有文件夹,则需要SHLoadLibraryFromParsingName
或其他相关功能。它们列在IShellLibrary
页面的底部。
看起来您需要使用P / Invoke从PowerShell中调用它们。
更新
http://www.leeholmes.com/blog/2009/01/19/powershell-pinvoke-walkthrough/