2012-07-09 96 views
2

我发现类AutomationFactory在Silverlight中,当你想使用COM对象订阅的事件是真正有用的:有没有类似于Silverlight的AutomationFactory for .NET的类?

AutomationEvent quitEvent = AutomationFactory.GetEvent(word,"Quit"); 
quitEvent.EventRaised += new EventHandler<AutomationEventArgs>(quitEvent_EventRaised); 
  • 你知不知道,可以从.NET可以使用任何同级?
  • 您是否知道使用自动化绑定事件的方式

在此先感谢。

回答

1

我很确定有一个,所以经过一番搜索后,我发现了.Net 4.0的列表,它包括System.Windows.Automation; IIRC应该是Silverlight的AutomationFactory所基于的。 System.Windows.Automation

+0

它不是解决方案,System.Windows.Automation仅用于WPF UI – devi 2012-08-27 13:32:16

1

看来它在.NET 4.0中 没有AutomationFactory模拟但你可以通过使用System.Type的存档:

var type = Type.GetTypeFromProgID("Excel.Application"); 
var obj = Activator.CreateInstance(type); 
obj.InvokeMember("Visible", BindingFlags.SetProperty, null, obj, parameter); 
+0

这并不完全等效,因为AutomationFactory.CreateObject返回的动态对象实现了IDisposable,并且配置它释放了相应的COM对象。 – Joe 2014-01-10 15:30:18

相关问题