Il y a principalement 3 type de programme qui peuvent être exécuté sur des Pocket PC :
De véritables excutable .exe que l´on crée soit avec Visual C++ 2003 ou 2005 ou alors avec Microsoft Embeded Visual C++ 4.0 (la dernière version, mais qui est obsolète), ou encore avec gcc (mais c´est de loin la méthode la plus compliqué, car les bibliothèques à utiliser sont toutes obsolète et difficile à trouver).
Sinon tu peut exécuter des programme écrit en .NET avec Visual Studio 2003 ou 2005 (en VB.NET, C#, mais je ne crois pas que ça soit possible en C++). Et dans une certaine mesure, un même exécutable peut tourner sur PC et sur Pocket PC (sans recompilation).
Et enfin, avec Microsoft Visual Tools tu peut créer des proramme en VB, mais c´est un peut démoder et plus vraiment mis à jour.
Comme tu le remarqueras tout ces outils sont "officiel", c´est à dire développer par microsoft. Mais ils ont aussi l´avantage d´être gratuit (enfin, pour visual studio, avec les version gratuite (du 2003 comme du 2005) il faut installer les SDK pour pocket PC, ainsi que le SDK du pocket .NET framework)).
Mais il existe aussi beaucoup d´autre outils, la plupart payant, mais certain gratuit qui permette de programmer des appli pour pocket PC (par exemple Windev Mobile).