在任何可能的情况下,都可以直接创建对接口ID的引用。
我尝试了类似语法形式的操作,但没有成功...
$CO = new-object -ComObject "System.__ComObject#{fafa4e17-1ee2-4905-a10e-fe7c18bf5554}"
此接口ID来自Virtualbox.VirtualBox本身我知道我可以自然地使用VirtualBox.VirtualBox引用它。
您可以直接引用接口ID吗?只要接口是公共的,我想您可以,但我找不到任何示例。 ??
谢谢:)
我通过以下方式找到了自己的问题的解决方案:
[System.Runtime.InteropServices.Marshal]::GetTypeFromCLSID('fafa4e17-1ee2-4905-a10e-fe7c18bf5554')
OR:
$Type = [Type]::GetTypeFromCLSID('fafa4e17-1ee2-4905-a10e-fe7c18bf5554')
$Vbox = [System.Activator]::CreateInstance($Type)
$Vbox.APIVersion
这回答了我的问题;结案:)