最近微软发布了暴露 Windows 7 特性的程序库,包括传感器、语音、设备、任务条、触控技术等,这个程序库是为带有更高级别信任关系的运行在浏览器之外的Silverlight 应用程序所用的。
Silverlight 最初只想要运行在浏览器中,并且由于安全性的原因,只能对系统资源进行有限的访问。 之后,微软引入了浏览器之外(Out-of-Browser OOB) 特性,让Silverlight 应用程序能够在浏览器的沙盒之外运行,但还是有些限制。 Silverlight 4 中增加了 COM+ 自动控制,这让 Silverlight 的 OOB 应用程序能够使用具有 COM 功能的 API 来访问 Windows 组件。 这个特性是特别为需要更高级别信任关系的企业客户引入的。 问题是,并非所有 Windows 组件都支持 COM,所以从 Silverlight 还是无法访问所有组件。
针对微软 Silverlight 的本地扩展(Native Extensions for Microsoft Silverlight NESL)是向 Silverlight 应用程序暴露 Windows 7 特性的组件库。 微软在去年 12 月份发布了 1.0 版本,其中提供了对下列组件的支持:
- Windows 传感器 API ——加速计、光传感器、罗盘、陀螺仪等等。
- Microsoft Speech API ——文本转换为语音(语音合成)、语音转换为文字(语音识别)。
- Windows 移动设备 API ——访问可移动设备,像照相机、移动电话、音乐播放器、扫描仪等等。
- 与 Windows 7 任务栏的集成——跳跃菜单、覆盖图标、覆盖进度条显示、缩略任务栏等等。
- Webcam 本地编码和窗口捕获——把 webcam 的影像编码为 mp4 (H.264/AAC-LC) 格式,并把与用户界面的交互捕获为视频。
- Window 消息侦听——访问从 Silverlight 的 OOB 托管窗口发送的消息。
一个月之后,微软发布了 NESL 2.0 的预览版本,添加了对多点触控的支持、演示程序、以及对 1.0 版本的缺陷修正。在该程序库的未来版本中还会添加更多的特性。
这个程序库只能在 32 位或者 64 位的 Windows 7 上运行,并且只能被运行在更高级别信任关系下的 OOB Silverlight 应用程序使用。 其它版本的 Windows 和 Mac OS X 上都不支持 NESL。这个代码是基于微软代码共享许可发布的。
相关信息: 自动控制(OLE 自动控制)——关于在Windows 中使用自动控制的一般信息,彻底了解Silverlight 4 自动控制——在Silverlight 中使用自动控制的示例。
评论