如何查看COM对象的所有方法/成员?

时间:2010-09-09 07:02:03

标签: powershell com qtp

我正在尝试使用QuickTest.Application和QuickTest.RunResultsOptions COM对象,但是当我以这种方式访问​​它们时,我没有获得官方帮助文件中列出的所有成员。

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

例如,我知道Launch()存在,可以从vbscript中使用它。

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

app.Launch

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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不可见的成员