Как я вижу все методы / члены COM-объекта? - PullRequest
1 голос
/ 09 сентября 2010

Я пытаюсь получить COM-объекты QuickTest.Application и QuickTest.RunResultsOptions, но когда я получаю к ним доступ таким образом, я не получаю всех участников, перечисленных в официальных файлах справки.

Например, я знаю, что Launch() существует и могу использовать его из VBScript.

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

app.Launch

Ответы [ 2 ]

1 голос
/ 10 сентября 2010

Кроме того, PowerShell не будет приводить COM-объекты к их интерфейсам, что делает несколько методов невидимыми для некоторых из API-интерфейсов COM, которые я использую. На самом деле у меня есть файл COMObjects.Types.ps1xml, который я импортирую в свой профиль:

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

Фактический файл types.ps1xml - в PoshCode , и он добавляет члены GetProperty / SetProperty / InvokeMethod в объекты COM именно по этой причине: доступ к членам, которые не видны в Powershell

1 голос
/ 09 сентября 2010

То, что Get-Member не показывает их, не означает, что их нет, когда дело доходит до COM-объектов.Вам нужно будет найти некоторую документацию, чтобы увидеть, что такое имя члена и какие параметры оно принимает.Это не проблема с объектами .NET, потому что в нем всегда есть метаданные для описания типов и сигнатур членов типа.PowerShell не всегда имеет эту информацию для COM-объектов.

...