SideShow是微软为Windows Vista操作系统开发的一项新特性,它允许开发者为具有小屏幕和有限交互模型的设备创建新的应用程序或扩展现有应用程序。这些应用程序被称为小工具(gadgets)。SideShow支持的设备包括但不限于:笔记本电脑上附加的显示屏、计算机前面板显示屏、键盘内嵌显示屏、手机、数字相框以及其他显示设备。
在撰写本文时,SideShow框架处于测试阶段。测试环境包括:
文档末尾提供了一些有用的链接,以帮助安装Microsoft VirtualSideShow。
SideShow平台为开发者提供了一个全新的开发领域,使得他们可以为具有小屏幕和有限交互能力的设备创建应用程序。这些应用程序被称为小工具。
要编译代码,必须安装SideShow SDK Beta,目前可以从微软的官方网站获取。要运行二进制文件,需要获取随Vista SDK一起提供的驱动程序和模拟器。安装后,将在'C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin'目录下找到模拟器驱动程序(WindowsSideShowVirtualDevice.exe)和模拟器(VirtualSideShow.exe)。
首先执行windowsSideShowvirtualdevice.exe /regserver,然后执行VirtualSideShow.exe。在控制面板中打开Windows SideShow,现在可以看到模拟器已安装。
VirtualSideShow提供了多种操作选项:
启动并注册WeatherSideShow.exe会在VirtualSideShow中添加一个名为'Weather SideShow Gadget'的新项目。内部菜单显示了一个菜单,其中第一项是从Web服务接收的数据,第二项是应用程序中存储的数据。
首先,必须按照上述说明打开VirtualSideShow.exe。之后,它将出现在模拟器的列表中。现在已准备好与天气小工具进行通信。
在应用程序中:必须使用'获取国家'按钮,使用Web服务将国家和城市添加到组合框中。这可能需要一分钟,具体取决于连接速度。然后可以选择喜欢的城市和国家,并查看所选项是否有可用的数据。
如果愿意,可以使用计时器自动刷新并保存所有选定的数据。SideShow会在'自动计时器'启动时以及每次点击'检查保存的数据的天气'时刷新。
创建了这个项目作为一个C# Windows应用程序。通过这个应用程序,可以从使用的Web服务中检索所有城市和国家。选择一个并测试城市是否有天气数据。
如果愿意,可以设置一个计时器自动刷新应用程序和SideShow。可以保存数据并在下次会话中使用。
代码遵循以下思路:
这里,只描述了用于SideShow的调用。
信息:使用了WebserviceX.NET的免费Web服务。如果服务器繁忙,收到错误"服务不可用",可以在这里查看它是否正在工作。
所有必要的SideShow代码都在MySideShowGadget中。所有其他类都用于检索数据和操作数据。
使用了一个Guid m_sGadgetId用于注册和注销小工具,更重要的是创建ScfSideShowGadget。MySideShowGadget使用ScfSideShowGadget类将数据添加到SideShow页面。添加了一些方法,但最重要的有:
以下是添加到SideShow的示例代码:
// 注册小工具
GadgetRegistration.Register(
false,
m_sGadgetId,
ScfSideShowGadget.ScfEndpointId,
m_sGadgetFriendlyName,
null,
null,
false,
GadgetCachePolicies.KeepNewest,
null
);
// 注销小工具
GadgetRegistration.Unregister(
false, m_sGadgetId);
// 默认内容
m_oScfSideShowGadget.AddGlanceContent(
"Updated on: {0:D}\n {0:T}", DateTime.Now
);
// 下载数据到设备
m_oScfSideShowGadget.AddContent(MyXMLPage);