Updating apps from Windows Mobile to Windows Embedded Handheld

13 Sep 2013

A software application (app) that was written for an older version of the Microsoft Windows Mobile (formerly Pocket PC) 6.1 or previous operating system can be updated to run in the Microsoft Windows Embedded Handheld (formerly Windows Mobile) 6.5 operating system on our newer products. Some items to consider when doing so are described below.

Display Resolution

The default native display resolution of previous Windows Mobile operating system (OS) versions was QVGA (240x320). Application software that was originally written to run in those previous OS versions may encounter issues with the higher display resolution (such as VGA (480x640) or WVGA (480x800)) on newer devices running Windows Embedded Handheld.

As much as possible, it is recommended that user interface (UI) elements in apps (such as splash screens, frames, and/or forms) be vector (instead of raster) graphics that can potentially be adjusted dynamically to various display resolutions and orientations such as on our different product models and configurations. Managed code (such as .NET languages like C#) should have elements locked/snapped to a layout grid (or snaplines) such as in the Visual Studio window design screen (http://msdn.microsoft.com/en-us/library/x7t10tac(v=vs.80).aspx). Platform independent code (such as HTML5 or Java) should have UI elements layed out in percentages of display area from the top and left borders, rather than based on a hard coded pixel, column/row, character, or other count.

Additional suggestions are provided at the following web link.

http://www.codeproject.com/Articles/580718/WindowsplusMobileplus6-5-3aplusChangedplusScreenpl

Otherwise, some sample code for finding the display resolution and adjusting to it and/or forcing display orientation is provided in the following files.

Memory

The UI and other improvements in the Windows Embedded Handheld OS may further limit memory and potentially other resources available to apps. Methods to work around such memory limitations are described starting in the following article.

Program memory (RAM) limitations and management