Sent to a window on a touch down in order to determine the most probable touch target.

Desktop apps should be DPI aware. If your app is not DPI aware, screen coordinates contained in pointer messages and related structures might appear inaccurate due to DPI virtualization. DPI virtualization provides automatic scaling support to applications that are not DPI aware and is active by default (users can turn it off). For more information, see Writing High-DPI Win32 Applications.

#define WM_TOUCHHITTESTING       0x024D





Pointer to the TOUCH_HIT_TESTING_INPUT structure that holds the touch contact area data.

Return value

If one or more elements are within the touch contact area, an application should return the result of PackTouchHitTestingProximityEvaluation.

If no elements are within the touch contact area, an application should set the value of score in TOUCH_HIT_TESTING_PROXIMITY_EVALUATION to TOUCH_HIT_TESTING_PROXIMITY_FARTHEST and call PackTouchHitTestingProximityEvaluation to get the LRESULT return value.

If the application does not process this message, it must call DefWindowProc.


This message is sent to windows that register through the RegisterTouchHitTestingWindow function.


Requirement Value
Minimum supported client
Windows 8 [desktop apps only]
Minimum supported server
Windows Server 2012 [desktop apps only]
Winuser.h (include Windows.h)

See also


Touch Hit Testing Scores