Tablet PC Platform SDK. FAQ
Q:我需要一个Tablet PC来开发Tablet PC应用程序吗?
A:不,Tablet PC Platform SDK包括在桌面或者膝上电脑上开发Tablet PC程序所需要的扩展和功能。你可以使用鼠标或者外部tablet来完成笔或者手写输入。
Tablet PC Platform SDK可以被安装在Windows 2000 或者 Windows XP Professional上,但是一些功能将无法在你的应用程序中使用。在这些平台上,你的程序可以使用InkCollector和InkOverlay对象来collect ink,并且可以测试和除错。然而,不能用到识别。同样,InkEdit和InkPicture控件只能在这些安装了Tablet PC Platform SDK的操作系统上collect ink;当程序被发布到没有安装SDK的机器上,他们不能collect ink。
Q: Windows XP Professional和Windows XP Tablet PC版本有何不同?
A:Tablet PCs运行Windows XP Tablet PC版本操作系统,Tablet PC 上有Windows XP Professional所有的功能和部分附加功能。这些tablet-specific特性是用户能够用笔来运行Windows和Windows程序,注释文件,使用digital ink来创建手写文档。Windows XP Tablet PC Edition在Windows XP Professional基础上增加了下列特性:Tablet PC平台和墨水控件,手写识别技术,Tablet PC输入面板,Windows Journal,Microsoft Sticky Notes,和Microsoft InkBall。因为Windows操作系统的早期版本不支持墨水,你可以使用Tablet PC墨水控件来查看墨水笔迹。
Q:我如何修改应用程序使之运行在Tablet PC上?
A:能够在Windows XP桌面型或者膝上型电脑上运行的Windows程序无须修改,即可运行在Tablet PC上。
Q:我认为我不需要对我的程序进行任何修改,但是用笔和语音来控制它是困难的。我如何为Tablet PC优化我的程序?
A:你可以使用Tablet PC Platform SDK的平台API和墨水控件来创建更适合笔和手写输入的用户接口。你可以使用API和控件操作墨水和手写识别数据。你可以使用Microsoft Speech SDK来增强语音用户接口。
Q:哪些语言被Tablet PC Platform SDK支持?
A:Tablet PC Platform SDK支持Automation自动化(Microsoft Visual C++ and Microsoft Visual Basic 6)和managed libraries(Visual Studio .NET语言套件)。
Q:我能获得示例代码来验证Tablet PC平台的性能吗?
A:是的,COM的示例代码和挑选的管理语言被包括在Tablet PC Platform SDK中。点击开始按钮,指向“程序”,指向“Microsoft Tablet PC Platform SDK”,然后点击Samples and Source Code。
Q:我需要开发的Tablet PC硬件的基础级别是什么?
A:一般来说,你应该设计一个Windows XP-compliant,legacy-free的系统,更多关于Tablet PC硬件的信息,请看Windows XP Tablet PC Edition System Requirements。
Q:你规定Tablet PC应用程序的用户界面指导方针是什么?
A:下拉菜单方向到screen/digitizer的视差的问题在Tablet PC Platform SDK文档的Planning Your Tablet PC Application部分中描述。
Q:是否包含了常用按键(commonly-used keystrokes)的系统级手写gestures?当一个程序运行或者获得焦点时,我可以创建自定义gestures吗?
A:是的,我们包括一套针对鼠标事件的gestures集。另外,你可以为你的程序创建gestures。更多关于gestures的信息,请看Making Windows Work with a Pen。
Q:我如何测定运行在Tablet PC上的程序?
A:使用Windows GetSystemMetrics API并传递SM_TABLETPC作为索引的值。SM_TABLETPC定义在Winuser.h文件中。SM_TABLETPC的值是86。如果Microsoft Windows XP Tablet PC Edition操作系统在运行,这个方法将返回True或者非零值,否则将返回False或者零。
非零值
应用程序不应该依赖于一个True或者非零值,那意味着所有Tablet PC组件被安装并工作。下面的问题将解释如何测定Tablet PC组件是否被安装。
Q:我如何测定Tablet API组件是否可用?
Tablet PC Platform API的某些部分也许被安装在非Tablet版本的Windows XP Professional 和 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. */
}