写点什么

原生扩展进一步模糊了 Silverlight 和 WPF 的边界

  • 2011-03-15
  • 本文字数:649 字

    阅读完需:约 2 分钟

为了可以在浏览器外的 Silverlight 里使用,它通过 COM 自动化提供 Windows 7 的相关特性。主要功能包括消息截获、传感器 API、H.264 视频编码、任务栏扩展、语音 API 以及对便携设备的访问。

  • 消息截获:允许应用程序截获发向所属窗口的 Window 消息。
  • 传感器 API:提供对 Windows 7 传感器 API 的完全访问。
  • 本地编码:允许应用程序把网络摄像机的音频 / 视频输入捕获到本地 H.264/AAC-LC 编码的媒体文件。此外,允许把应用程序用户界面的活动捕获成带有音频的视频。
  • 任务栏访问:允许应用程序整合各种 Windows 7 任务栏特性,比如任务栏按钮重叠、跳转列表、任务栏按钮进度通知等等。
  • 语音 API:允许应用程序使用 Windows 7“语音到文本”和“文本到语言”功能。
  • 便携设备:允许应用程序枚举诸如音乐播放器、数码相机等连接设备上的内容。

微软宣称“目前大部分 Windows 平台的 API 无法以这种方式被 Silverlight 访问。一些虽然支持 COM,但不支持自动化;而其它的仅能通过 C/C++ 等原生语言进行访问。”然而,这对于 Silverlight 5 来说将不是问题,因为它将会获得 p/invoke 的能力,大多数.NET 开发者非常不喜欢使用非托管调用。与此同时, Native Extensions 2.0 for Microsoft Silverlight 提供了必要的封装。

原生扩展需要安装在客户端机器上。这可以预先安装或者在应用程序里使用 Installer.CheckNESLInstalled 和 Installer.InstallNESL。后者的弊端是你不得不把 NESLSetup.msi 打包到你的应用程序里。


查看英文原文 Native Extensions further to blur the boundary between Silverlight and WPF

2011-03-15 06:421337

评论

发布
暂无评论
发现更多内容
原生扩展进一步模糊了Silverlight和WPF的边界_.NET_Jonathan Allen_InfoQ精选文章