有关针对平板电脑平台进行开发的常见问题解答

以下是有关 Windows Vista SDK 安装的平板电脑平台组件的开发的常见问题解答 (FAQ)。

是否可以在网页中使用 Ink API 或控件?

是的。 平板电脑托管库支持部分受信任的环境,即从网页执行托管程序集。

此外,还支持使用 Windows Presentation Foundation 的应用程序的浏览器部署。

是否需要平板电脑才能开发平板电脑应用程序?

否,Windows SDK 安装的平板电脑平台组件包括在台式机或笔记本电脑上开发平板电脑软件所需的扩展和实用工具。 可以使用鼠标或外部平板电脑进行触控笔和手写输入。

可以将 Windows SDK 安装的平板电脑平台组件安装在 Windows XP Professional 或 Windows Server 2003 上,但应用程序可使用的功能较少。 在这些平台上,应用程序可以使用 InkCollectorInkOverlay 对象收集墨迹,并且可以进行测试和调试。

此外,InkEditInkPicture 控件只能在这些操作系统上收集墨迹,前提是已从 Windows SDK 安装平板电脑平台组件(或较旧版本的平板电脑开发工具包);它们不会在未安装平台组件的情况下重新分发到非平板电脑的应用程序中收集墨迹。

是否需要运行特殊版本的 Windows 才能进行手写识别?

否。 虽然只有 Windows XP Tablet PC Edition 和某些版本的 Windows Vista 包括手写识别器,但可以下载 Windows XP Tablet PC Edition 2005 识别器包,并将其安装在 Windows XP Professional 或 Windows Server 2003 上,以便仅用于开发目的。 不能使用应用程序重新分发识别器。

Windows Vista 和平板电脑技术之间有何区别?

平板电脑运行 Windows Vista 操作系统,其中包含 Windows Vista 的所有功能,以及特定于平板电脑的额外功能。 这些平板电脑技术功能使用户能够使用触控笔、批注文档以及使用数字墨迹创建手写文档,以便运行 Windows 和 Windows 应用程序。 平板电脑技术在大多数版本的 Windows Vista 上都可用;如果平板电脑硬件在计算机上可用,则这些功能才会正常工作。

对于本机不支持墨迹的早期版本的 Windows 操作系统,可以重新分发和使用平板电脑墨迹控件来查看在平板电脑上绘制的墨迹。

Windows XP Tablet PC Edition 和 Windows XP Tablet PC Edition 2005 之间有何区别?

Windows XP Tablet PC Edition 2005 是 Windows XP Tablet PC Edition 的更新版本。

如何将应用程序修改为可在平板电脑上运行?

若 Microsoft Windows 应用程序在含可比硬件的 Windows XP 台式机或笔记本电脑上运行,则无需修改即可在平板电脑上运行。

我明白,我不需要对应用程序进行任何更改,但很难将它与触控笔和语音结合使用。 如何针对平板电脑优化应用程序?

平板电脑平台组件的 API 和墨迹控件可用于创建更适合触控笔和手写输入的用户界面。 有关可改进应用程序的特定方式的详细信息,请参阅面向开发人员的移动电脑用户体验指南

平板电脑支持哪些编程语言?

Windows Vista 中的平板电脑技术支持 COM (C++) 和托管库(Visual Studio .NET 语言套件)。

平板电脑技术还支持 Windows Presentation Foundation (WPF)。

是否有演示平板电脑平台功能的示例代码?

是,Windows 平台 SDK 安装的平板电脑平台组件中包含 COM 和所选托管语言的示例代码。

有关可用的示例应用程序,请参阅:

应该据以进行开发的平板电脑硬件的基本级别是什么?

通常,应针对符合 Windows Vista 的旧版系统进行设计。

可以针对平板电脑应用程序提供哪些用户界面准则?

Windows SDK 移动电脑部分中面向开发人员的移动电脑用户体验指南中介绍了从下拉菜单方向到屏幕/数字化器视差的问题。

是否包括常用击键的系统级别手写手势? 是否可以创建自己的手势,以便在应用程序正在运行或具有焦点时使用?

是,我们包括一组鼠标事件手势。 此外,还可以创建可在应用程序中使用的手势。 有关手势的详细信息,请参阅使用手势

如何确定应用程序是否正在平板电脑上运行?

使用 Windows GetSystemMetricsAPI 并传入 SM_TABLETPC 作为索引值。 SM_TABLETPC 已在 Winuser.h 中定义。 SM_TABLETPC 的值为 86。

对于 Web 开发,应读取 USER_AGENT_STRING 环境变量。 可以访问此 Request.ServerVariables 集合。

有关如何在运行 Windows Vista 或 Windows XP Tablet PC Edition 的平板电脑上使用 GetSystemMetrics 的详细信息,请参阅确定电脑是否是平板电脑

如何确定平板电脑平台组件是否可用?

可能会将平板电脑平台的某些部分安装在 Windows XP Professional、Windows Server 2003 和 Windows 2000 操作系统的非平板电脑版本上。

确定是否安装了 API 组件的正确方法是尝试创建对象或控件的实例,并在尝试使用之前检查该实例是否存在。

例如,若要确定 InkCollector 对象是否可用,请尝试使用 CoCreateInstance 创建该对象。

IInkCollector* pIInkCollector = NULL;
HRESULT hr = CoCreateInstance(CLSID_InkCollector,
 NULL, CLSCTX_INPROC_SERVER, 
 IID_IInkCollector,
 (void **)&pIInkCollector);
if (SUCCEEDED(hr)) 
{ 
  /* InkCollector is usable. */ 
} else 
{
  /* InkCollector unavailable. */
}

如何在服务器 SKU 上运行平板电脑输入服务?

当安装客户端包时,TabletInputService 不会在服务器 SKU 中自动运行。 客户端包会在平台中安装所有组件,以便任何平板电脑客户端应用程序也都可以在服务器上运行。 平板电脑输入服务会侦听插入外部数字化器的 PnP 通知。 若要在服务器上启用平板电脑输入服务,请使用系统配置实用工具。

从“开始”菜单上,选择“运行”。 键入“msconfig”,然后按 Enter 键。 选择“服务”选项卡,找到名为“HID 输入服务”的服务,选中旁边的复选框,然后单击“应用”。 关闭实用工具。

更多常见问题解答和其他资源