List of Pen API Functions

The following tables list by category all functions in version 2.0 of the Pen API. Functions appear in alphabetical order within each category, together with a brief description.

System and hardware functions
Description
GetPenAsyncState
Gets state of pen barrel button.
GetPenMiscInfo
Gets current system settings.
GetVersionPenWin
Gets the Pen API version number.
SetPenMiscInfo
Sets system defaults and assumptions.
UpdatePenInfo
Called by the pen driver to notify the system of a change in the driver configuration.

Display functions
Description
CreatePenDataRegion
Returns a screen region that contains the points of an HPENDATA object.
DrawPenDataEx
Enhanced version of DrawPenData.
DrawPenDataFmt
Default version of DrawPenDataEx.
RedisplayPenData
Displays collected pen data exactly as originally drawn.
ShowKeyboard
Displays or hides the on-screen keyboard.
StartInking
Begins the process of leaving a visible ink trail
as the pen moves. See the descriptions of StartPenInput and DoDefaultPenInput.
StopInking
Stops the inking process begun by a call to StartInking.

Pen data functions
Description
AddPenDataHRC
Adds an HPENDATA object to an HRC.
AddPointsPenData
Adds new points and original equipment manufacturer (OEM) data to an existing HPENDATA object.
CreatePenData
Allocates memory for a new HPENDATA object and initializes its header.
CreatePenDataEx
Enhanced version of CreatePenData.
CreatePenDataHRC
Returns handle to HPENDATA object associated with an HRC.
DestroyPenData
Frees memory occupied by an HPENDATA memory block.
DuplicatePenData
Clones an existing HPENDATA object.
ExtractPenDataPoints
Copies or removes points from a stroke.
ExtractPenDataStrokes
Copies or removes selected strokes, optionally creating a new HPENDATA object from the copied strokes.
GetPenDataAttributes
Retrieves information about an HPENDATA object.
GetPenDataInfo
Gets status information for an HPENDATA object.
GetPointsFromPenData
Returns an array of points from an HPENDATA object.
GetStrokeAttributes
Retrieves information about a stroke.
GetStrokeTableAttributes
Retrieves information about a stroke's class.
The class is an entry in a table stored in the PENDATAHEADER structure.
InsertPenData
Combines two HPENDATA blocks.
InsertPenDataPoints
Inserts points into a stroke in an HPENDATA object.
InsertPenDataStroke
Inserts data for a new stroke into an existing HPENDATA object.
OffsetPenData
Offsets pen data points by a specified amount.
PenDataFromBuffer
Reverse of PenDataToBuffer, which must be called first. Creates an HPENDATA block and writes the buffer back into it.
PenDataToBuffer
Serializes the contents of an HPENDATA block to a buffer.
RemovePenDataStrokes
Removes specified strokes from an HPENDATA object.
ResizePenData
Scales ink data to fit a specified rectangle.
SetStrokeAttributes
Sets attributes of a stroke. Reverse of GetStrokeAttributes.
SetStrokeTableAttributes
Sets attributes for a stroke's class. Reverse of GetStrokeTableAttributes.

Recognition functions
Description
AddPenInputHRC
Adds raw pen input to an HRC object.
AddWordsHWL
Adds words to a word list.
ConfigRecognizer
System access to recognizer configuration. Applications should not call this function.
CreateCompatibleHRC
Creates an empty HRC object.
CreateHWL
Creates a word list.
DestroyHRC
Destroys a recognizer's recognition context object.
DestroyHRCRESULT
Destroys a recognizer's results object.
DestroyHWL
Destroys the word list handle created by CreateHWL and frees its memory.
EnableGestureSetHRC
Enables or disables recognition of specified gestures.
EnableSystemDictionaryHRC
Specifies whether a recognizer should use its dictionary.
EndPenInputHRC
Informs a recognizer that the input session has ended.
GetAlphabetHRC
Retrieves the current alphabet from a recognizer.
GetAlphabetPriorityHRC
Retrieves the current alphabet priority from a recognizer.
GetAlternateWordsHRCRESULT
Gets alternative guesses made by a recognizer.
GetBoxMappingHRCRESULT
Retrieves from a recognizer the locations of a range of symbols in boxes.
GetBoxResultsHRC
Gets recognition results for a range of boxes.
GetGuideHRC
Gets a copy of the GUIDE structure (if any) in an HRC object.
GetHotspotsHRCRESULT
Returns the hot spots for a specified gesture.
GetHRECFromHRC
Gets module handle of recognizer from an HRC.
GetMaxResultsHRC
Gets the maximum number of guesses a recognizer can make.
GetResultsHRC
Retrieves an HRCRESULT object from recognizer containing recognition results.
GetWordlistCoercionHRC
Gets the current degree of influence a word list or dictionary has on recognition confidence levels.
GetWordlistHRC
Gets a word list from an HRC object.
InstallRecognizer
Loads a specified recognizer.
ProcessHRC
Tells recognizer to process input for a given period of time.
ReadHWL
Reads a word list from a file.
SetAlphabetHRC
Specifies the alphabet for a recognition session.
SetAlphabetPriorityHRC
Specifies alphabet priority for a session.
SetBoxAlphabetHRC
Specifies the alphabet for a range of boxes.
SetGuideHRC
Specifies guides for an HRC.
SetMaxResultsHRC
Sets the maximum number of guesses a recognizer can make.
SetWordlistCoercionHRC
Sets the degree of influence a word list or dictionary has on recognition confidence levels.
SetWordlistHRC
Identifies a word list for an HRC object.
TrainHREC
Passes ink and correct interpretations to recognizer for training.
UninstallRecognizer
Unloads a specified recognizer.
WriteHWL
Writes a word list to a file.

Symbol manipulation functions
Description
CharacterToSymbol
Converts an ANSI string to an array of symbol values.
EnumSymbols
Enumerates symbol strings in a symbol graph.
FirstSymbolFromGraph
Returns the array of symbols that is the most likely interpretation of a specific symbol graph.
GetSymbolCount
Returns the number of symbol strings contained in the symbol graph.
GetSymbolCountHRCRESULT
Gets the number of symbol values in results.
GetSymbolMaxLength
Gets the length of the longest symbol string contained in the symbol graph.
GetSymbolsHRCRESULT
Gets symbol values of recognition results.
SymbolToCharacter
Converts an array of symbols to an ANSI string.

Time interval functions
Description
AddInksetInterval
Adds an INTERVAL structure to an existing HINKSET object.
CreateInkset
Creates an empty inkset into which intervals can be added with the AddInksetInterval function.
CreateInksetHRCRESULT
Retrieves the intervals for a specified series of symbols returned by the recognizer.
DestroyInkset
Frees memory occupied by an inkset and invalidates the HINKSET handle.
GetInksetInterval
Copies a series of intervals from an HINKSET object to an array of INTERVAL structures.
GetInksetIntervalCount
Returns the number of intervals in an HINKSET object.

Compression functions
Description
CompressPenData
Compresses and uncompresses data.
DPtoTP
Converts display coordinates to tablet coordinates.
MetricScalePenData
Converts pen data points to one of the supported metric modes.
TPtoDP
Converts tablet coordinates to display coordinates.
TrimPenData
Removes selected data from an HPENDATA block.

Utility functions
Description
AtomicVirtualEvent
Blocks out physical pen events while posting virtual events.
BoundingRectFromPoints
Returns the bounding rectangle of an array of points.
ConfigHREC
Configures or queries recognizer options.
CorrectWriting
Displays lens or Correct Text dialog box to allow user to correct text.
CorrectWritingEx
Sends text to the CorrectText dialog box to allow the user to edit text using the Japanese Data Input Window. (Japanese version only.)
DoDefaultPenInput
Runs high-level recognition/data collection. Internally calls StartPenInput, StartInking, StopPenInput, and StopInking.
GetPenAppFlags
Returns the task flags created by SetPenAppFlags.
GetPenInput
Collects input data as the user writes.
GetPenResource
Retrieves a copy of the pen services resource. (Japanese version only.)
HitTestPenData
Determines whether a given point lies near a stroke.
IsPenEvent
Determines whether a WM_LBUTTONDOWN message is generated by a mouse or pen device.
KKConvert
(Japanese version only.) Activates the Kana-to-Kanji converter.
PeekPenInput
Retrieves information about a pen packet in the pen input queue. This function is similar to GetPenInput, but does not remove the pen packet from the queue.
PostVirtualKeyEvent
Simulates a keystroke by sending a virtual key code to Windows.
PostVirtualMouseEvent
Simulates mouse activity by sending a virtual mouse event to Windows.
SetPenAppFlags
Sets pen flags for the application that are used globally by the pen services.
StartPenInput
Begins collecting into an internal buffer ink
data generated by the moving pen. See also
the descriptions of . DoDefaultPenInput and StartInking.
StopPenInput
Ends collection process begun by a call to StartPenInput.
TargetPoints
Determines the logical recipient of data among several targets.

Hook functions
Description
SetPenHook
Sets or removes a hook for capturing low-level pen events.
SetResultsHookHREC
Sets a hook for recognition results.
UnhookResultsHookHREC
Unhooks a hook set by SetResultsHookHREC.

Obsolete functions
Description
BeginEnumStrokes
Locks an HPENDATA memory block in global memory in preparation for reading.
CloseRecognizer
Called by the system when uninstalling a
recognizer. Subfunction has been superseded
by WCR_CLOSERECOGNIZER in ConfigRecognizer.
CompactPenData
Data compression function superseded by CompressPenData and TrimPenData.
DictionarySearch
Searches dictionary for a word or phrase.
DrawPenData
Displays ink according to a display context HDC. Superseded by DrawPenDataEx.
EmulatePen
Emulates a pen system.
EndEnumStrokes
Unlocks an HPENDATA memory block. Required after calling BeginEnumStrokes.
GetGlobalRC
Retrieves a copy of the current system RC structure.
GetPenDataStroke
Gets the raw data for a stroke stored in an HPENDATA memory block.
GetPenHwEventData
Retrieves a range of pen event data from the internal pen data buffer.
InitRC
Initializes recognition context for the recognizer. Only for compatibility with version 1.0.
InitRecognizer
Called by the system when it installs a recognizer. Superseded by WCR_INITRECOGNIZER subfunction in ConfigRecognizer.
IsPenAware
Checks application's capability to handle pen events. Superseded by GetPenAppFlags.
ProcessWriting
Runs high-level recognition services. Superseded by DoDefaultPenInput.
Recognize
Begins recognition for a version 1.0 recognizer.
RecognizeData
Delayed recognition for a version 1.0 recognizer.
RegisterPenApp
Identifies an application to the system as pen-aware. Superseded by SetPenAppFlags.
SetGlobalRC
Sets default settings for the specified recognition context. This function should be called only from the pen Control Panel program.
SetRecogHook
Installs and removes a recognition hook in version 1.0. Superseded by SetResultsHookHREC.
TrainContext
Passes to the recognizer a previous recognition result that may contain errors along with the required interpretation.
TrainContextInternal
Called by system when an application calls TrainContext.
TrainInk
Informs the recognizer at the DLL recognition level that the raw data input represents the symbol value results.
TrainInkInternal
Called by system when an application calls TrainInk.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database