Frequently Asked Questions

Frequently Asked Questions

Description of frequently asked questions (FAQ) about the Microsoft® Windows® XP Tablet PC Edition Software Development Kit (SDK).

Q. Can I use the Ink APIs or controls in a Web page?

A. Yes. In this release, the Tablet PC managed library has been enhanced to support partially trusted environments, namely execution of managed assemblies from web pages.

Q. Do I need a Tablet PC to develop Tablet PC applications?

A. No, the Tablet PC SDK includes the extensions and utilities needed to develop software for the Tablet PC on a desktop or laptop computer. You can use a mouse or external tablet for pen and handwriting input.

The Tablet PC SDK can be installed on Windows 2000, Windows XP, or Windows Server 2003, but less functionality is available for your applications. On these platforms your application can collect ink with the InkCollector and InkOverlay objects and can be tested and debugged. Also, the InkEdit and InkPicture controls can only collect ink on these operating systems if the Tablet PC SDK is installed; they do not collect ink on applications that are redistributed to non-Tablet machines without the SDK installed.

Q. Do I need to run Windows XP Tablet PC Edition to do handwriting recognition?

A. Yes, only Windows XP Tablet PC Edition includes handwriting recognizers. In the future, there may be ways to install recognizers on other versions of Windows.

Q. What is the difference between Windows XP Professional and Windows XP Tablet PC Edition?

A. Tablet PCs run the Windows XP Tablet PC Edition operating system, featuring all the functionality of Windows XP Professional plus additional features specific to the Tablet PC. These tablet-specific features enable users to run Windows and Windows applications using a pen, annotate documents, and create handwritten documents using digital ink. Windows XP Tablet PC Edition adds the following features and accessories to Windows XP Professional: the Tablet PC platform and ink controls, handwriting recognition engines, the Tablet PC Input Panel, Windows Journal, Microsoft Sticky Notes, and Microsoft InkBall. For earlier versions of Windows operating systems that do not natively support ink, you can use the Tablet PC ink controls to view ink drawn on a Tablet PC.

Q. What is the difference between Windows XP Tablet PC Edition and Windows XP Tablet PC Edition 2004?

A. Windows XP Tablet PC Edition with Windows XP Service Pack 2 (SP2) is an updated version of Windows XP Tablet PC Edition.

Q. How do I modify my application to run on a Tablet?

A. Microsoft® Windows® applications that run on a Windows XP desktop or laptop computer with comparable hardware should run on a Tablet PC without modifications.

Q. I understand that I don't need to make any changes to my application, but it is difficult to use it with a pen and speech. What can I do to optimize my application for a Tablet?

A. Platform application programming interface (API) and ink controls of the Tablet PC SDK can be used to create user interfaces that are better suited to pen and handwriting input. API and controls can be used to manipulate ink and handwriting recognition data. Microsoft Speech software development kit (SDK) can be used to enhance the speech user interface.

Q. What programming languages does the Tablet support?

A. The Tablet PC SDK supports Automation (Microsoft Visual C++ and Microsoft Visual Basic 6) and managed libraries (the suite of Visual Studio .NET languages).

Q. Do I have sample code that demonstrates Tablet platform capabilities?

A. Yes, sample code for COM and selected managed languages is included in the Tablet PC SDK.

To access the sample code:

  • Click the Start button
  • Point to All Programs
  • Point to Tablet PC SDK
  • Click Samples and Source Code

You can also refer to the API and Ink Control Samples for descriptions of available tutorial sample applications.

Q. What's the base level of Tablet hardware that I should develop for?

A. In general, you should design for a Windows XP-compliant, legacy-free system. For more information about Tablet PC hardware, see Hardware Assumptions.

Q. What user interface guidelines can you provide for Tablet applications?

A. Issues from drop-down menu orientation to screen/digitizer parallax are described in the Planning Your Application section of the Tablet PC SDK documentation.

Q. Do you include system-level handwriting gestures for commonly-used keystrokes? Can I create my own gestures for use when an application is running or has focus?

A. Yes, we include a set of gestures for mouse events. In addition, you can create gestures for use in your application. For more information about gestures, see Making Windows Work with a Pen.

Q. How can I determine if my application is running on a Tablet?

A. Use the Windows GetSystemMetrics API and pass in SM_TABLETPC as the value of the index. SM_TABLETPC is defined in Winuser.h. The value of SM_TABLETPC is 86. The method returns True or nonzero if the Windows XP Tablet PC Edition operating system is running; False or zero otherwise.

Applications should not rely on a true or nonzero value to mean all Tablet PC components are installed and working.

For web development, you should read the USER_AGENT_STRING environment variable. You can access this the Request.ServerVariables collection.

Q. How can I determine if Tablet API components are available?

A. Certain parts of the Tablet PC Platform API may be installed on non-tablet versions of the Windows XP Professional, Windows Server 2003, and Windows 2000 operating systems.

The proper way to determine if a component of the API is installed is to attempt to create an instance of an object or control and check that it exists before attempting to use it.

For example, to determine if the InkCollector object is available, attempt to create it using 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. */
}

Q. More FAQs and Other Resources

Windows XP Tablet PC Edition Home Page Leave Site