This blog post gives an introduction to the different versions of Windows Mobile and small code snippet in C# / .NET Compact Framework to find the version of the Operating system.
Windows Mobile is a Microsoft’s mobile operating system designed for smartphone and mobile devices .
What are the various versions of Microsoft Windows Mobile ?
There are different versions of Windows Mobile.
1. Pocket PC 2000 – ( Code name Rapier ) was released in the year 2000 and was based on Windows CE 3.0 .
2. Pocket PC 2002 – ( Code name Merlin ) was released in 2001. This was also based in WIN CE 3.0 targetting QVGA .
3. Windows Mobile 2003 ( code name Ozone ) was released in 2003 .This had 4 versions .
- Windows Mobile 2003 for Pocket PC Premium Edition
- Windows Mobile 2003 for Pocket PC Professional Edition
- Windows Mobile 2003 for Smartphone
- Windows Mobile 2003 for Pocket PC Phone Edition
4. Windows Mobile 5.0 ( code name Magneto ) was released in 2005 .This version offered push email functionality via direct MS Exchange and also had new versions of office Mobile and Media player .
5. Windows Mobile 6 ( code name Crossbow ) was released in 2007 and had 3 versions
- Windows mobile standard targetting the the Non touchscreen devices .
- Windows Mobile Professional targetting the touch screen devices .
- Windows Mobile Classic – Similar to Windows Mobile Professional but without the phone functionalities
6. Windows Mobile 6.1 was announced in 2008. It was a minor upgrade to the existing Windows Mobile 6 .
7. Windows Mobile 6.5 was an upgrade to Windows Mobile 6.1
8. Windows Phone 7 is the next version of the Windows Phone operating system developed by Microsoft.
Here’s a sample to find the OS Version Mobile using .NET Compact Framework and C#
private void Form1_Load(object sender, EventArgs e) { MessageBox.Show(Environment.OSVersion.ToString()); }
Environment.OSVersion will return the platform and the version like
Microsoft Windows CE 5.1.1700 ( for Windows Mobile 5 )
Also the Windows Mobile 6 runs on the WINCE Kernel version 5.2 and Windows Mobile 5 runs on WINCE kernel version 5.1 …
Visit Versions of  Windows CE / Windows Mobile to know more about the WINCE Version used in Windows Mobile .
So we can check if the application runs on Windows Mobile 6 by verifying the OS Version’s
major and minor version like this
if (Environment.OSVersion.Version.Major == 5 && Envrionment.OSVersion.Version.Minor == 2) { MessageBox.Show("Windows Mobile 6"); }
It is also possible to check if the OS or the platform is WINCE by verifying with the Platform ID .
Environment.OSVersion.Platform == PlatformID.WinCE