2010-08-04 17 views
0

Y a-t-il une valeur de préprocesseur que je peux utiliser pour détecter la compilation du programme pour Windows Mobile 6.5.3? Par exemple, je peux utiliser #if (_WIN32_WCE >= 0x501) pour compiler le code pour Windows Mobile 5 et versions ultérieures, ou #if _WIN32_WCE >= 0x502 pour compiler le code pour Windows Mobile 6.Préprocesseur Windows Mobile 6.5.3

Il existe de nouvelles API n'existant pas dans Windows Mobile 6.5.3 dans Windows Mobile 6. Je souhaite m'assurer que les appels WM 6.5.3 ne sont pas compilés dans les configurations de construction WM 6, WM 5 et Pocket PC 2003.

Répondre

0

La version fait référence à la version de Windows CE, qui ne correspond pas, je crois, à la version de Windows Mobile. D'après ce dont je me souviens, cette version définit est sous la forme de 0xXYZ où X est la version majeure, Y est la version mineure, et Z est la révision. Donc, si 0x502 fait référence à Windows Mobile 6 ou plus tard, cela signifierait que Windows Mobile 6 fonctionne sous Windows CE 5.0.2.

Vous aurez besoin de déterminer quelle version de Windows CE est utilisée par Windows Mobile 6.5.3, si elle utilise une version différente, et comparez la définition à cela. S'il n'utilise pas une version différente de Windows CE (et je pense que c'est le cas), je pense que vous n'avez pas de chance.

Je ne pense pas qu'il existe un quelconque préprocesseur pour cibler des versions spécifiques de Windows Mobile, vous devez donc créer deux versions distinctes et utiliser votre propre définition. Pour autant que je sache, vous ne pouvez obtenir la version de Windows Mobile qu'à l'exécution, ce qui n'est pas très simple.