If you call the GetDeviceCaps() API using the following code on a high DPI device, it will return a value of 96 for logical pixels X rather than 192.
logPixelsX = GetDeviceCaps(hdc, LOGPIXELSX);
The reason is that Windows Embedded CE 6.0 R3 doesn't support high DPI due to lack of appropriate resource files.
Therefore the GetDeviceCaps() API returns the value of 96 even if the device supports high DPI.
You can modify the registry value “LogicalPixelsX” and “LogicalPixelsY” at [HKEY_LOCAL_MACHINE\Drivers\Display\GPE] and set them to 192. Then GetDeviceCaps(hdc, LOGPIXELSX) will return a value of 192. But the actual display effect is still not as expected. e.g. icons on the desktop look still very small.
Article ID: 2667786 - Last Review: Jan 30, 2012 - Revision: 1