0

我正在尝试使用 UI 自动化在我的 Silverlight 应用程序中记录屏幕交互。我的控件设置有自动化对等体,但无法弄清楚如何跟踪这些控件。

对于我的 WPF 应用程序,我将获取AutomationElement.RootElement并向下导航到我的应用程序并在我感兴趣的控件上设置自动化事件处理程序。

我将如何为 Silverlight 应用程序做同样的事情?我希望屏幕录像机在我的应用程序运行时自动启动。屏幕录像机必须位于我的应用程序中。但是System.Windows.Automationsilverlight 命名空间没有AutomationElement类。那么我将如何在 Silverlight 中执行此操作?

谢谢希瓦普拉萨

4

1 回答 1

2

如您所见,Silverlight 中不存在 AutomationElement 类:UIAutomation API 仅在完整的 .Net 框架中可用。Silverlight 仅作为 UI 自动化提供程序受支持 - 也就是说,Silverlight 应用程序可以由 UI 自动化控制,但不能控制其他应用程序。

出于这个原因,我不认为您将能够在 Silverlight 应用程序中创建屏幕录像机 - 除非您准备诉诸一些讨厌的 hack。

此类黑客可能包括:

  • 使用 Silverlight COM 自动化调用新的UIAutomation COM API。除了 Silverlight 之外,用户还需要在他们的机器上安装 COM API。
  • 在 .Net 中创建一个“服务器”应用程序,您可以在执行实际 UIAutomation 工作的目标计算机上运行该应用程序,然后使用 WCF 从您的 Silverlight 应用程序与其通信。
于 2010-10-01T09:30:26.117 回答