I recently updated to Visual Studio 2012, and think I found the answer to my question:
Inside the Microsoft Headers the Macro WINAPI_FAMILY_PARTITION
is used to determine the "Level" of WinAPI. Currently there are WINAPI_PARTITION_DESKTOP
and WINAPI_PARTITION_APP
, therefore I "guess" that via this macro one can differentiate between Desktop and Metro...
The two macros lead to another set of macros: #define WINAPI_FAMILY_APP WINAPI_PARTITION_APP
and #define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_APP)
. Therefore if WINAPI_FAMILY_APP
is defined one should be able to assume that it's a Metro application...