2010-09-09 62 views
1

我想要获得QuickTest.Application和QuickTest.RunResultsOptions COM对象,但是当我以这种方式访问​​它们时,我没有获得官方帮助文件中列出的所有成员。如何查看COM对象的所有方法/成员?

PS> $app = New-Object -ComObject QuickTest.Application -Strict 
PS> $app | Get-Member 

例如,我知道Launch()存在,并可以从一个VBScript中使用它。

Dim app 
Set app = CreateObject("QuickTest.Application") 

app.Launch 

回答

1

此外,PowerShell不会将COM对象转换为它们的接口,这使得一些方法在我使用的某些COM API上不可见。其实,我有我在我的个人资料导入COMObjects.Types.ps1xml文件:

Update-TypeData -PrependPath "(Split-Path $Profile)\COMObject.Types.ps1xml" 

实际types.ps1xml文件on PoshCode,并把它添加的getProperty /的SetProperty /时,InvokeMethod成员正是这种原因COM对象:访问Powershell不可见的成员

+0

非常感谢。我要去尝试一下。 – Varyanica 2010-09-13 07:36:24

+0

你可以给我一个使用带参数的方法'InvokeMethod'的例子吗? – Varyanica 2010-09-15 11:43:16

+0

我想我自己找到了方法 – Varyanica 2010-09-15 11:53:45

1

仅仅因为Get-Member不显示它们并不意味着它们在COM对象中不存在。你将不得不找到一些文档来查看成员名称和参数。这不是.NET对象的问题,因为它始终有元数据可用来描述类型和类型成员签名。 PowerShell并不总是有这个COM对象的信息。

相关问题