我在C#中有下面的代码,我尝试移植到PowerShell。 但我不知道如何端口这个转换:PowerShell中的COM接口包装?
((_ISkypeEvents_Event)skype).CallStatus += CallStatusHandler;
如果我只需键入[Skype4COM.ISkypeEvents_Event]在我的PowerShell控制台我得到:
找不到类型[Skype4COM.ISkypeEvents_Event ]:确保包含此类型的程序集已加载。
不过,我可以得到$ Skype的对象的所有成员:
$skype = New-Object -ComObject Skype4COM.Skype
以下行不起作用:
$skypeevent = [Skype4COM._ISkypeEvents_Event]$skype
如果我尝试直接调用该方法在$ skype对象上,如下所示:
$skype.add_CallStatus({ write-host "yay" })
... it(如预期)告诉我说:
方法调用失败,因为[系统.__ ComObject#{b1878bfe-53d3-402e-8c86-190b19af70d5}]不包含名为 'add_CallStatus' 的方法。
我试图创建一个COM包装,但它仍然无法上获得类型的COM接口...
任何想法?十分感谢!