从Silverlight访问Windows 7的特性
时间:2011-01-23 来源:cnblogs
最近微软发布了暴露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中使用自动控制的示例。
查看英文原文:Accessing Windows 7 Features from Silverlight