是否有新的宏代码,以确定该应用程序在WinRT的运行? 由于我工作LoadLibrary
,如果全部更换调用宏这将是巨大LoadLibrary
与一个LoadPackagedLibrary
...
我理解正确的文件中,我可以通过加载任何DLL(只要它是我的包中), LoadPackagedLibrary
,对不对? (而且只要该DLL不使用列入黑名单的API ...)
是否有新的宏代码,以确定该应用程序在WinRT的运行? 由于我工作LoadLibrary
,如果全部更换调用宏这将是巨大LoadLibrary
与一个LoadPackagedLibrary
...
我理解正确的文件中,我可以通过加载任何DLL(只要它是我的包中), LoadPackagedLibrary
,对不对? (而且只要该DLL不使用列入黑名单的API ...)
我最近更新到Visual Studio 2012,并认为我找到了答案,我的问题:
微软内部头宏WINAPI_FAMILY_PARTITION
被用来确定WinAPI的的“级别”。 目前有WINAPI_PARTITION_DESKTOP
和WINAPI_PARTITION_APP
,所以我“猜”是通过这个宏可以桌面和地铁区分...
这两个宏导致另一组的宏: #define WINAPI_FAMILY_APP WINAPI_PARTITION_APP
和#define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_APP)
因此,如果WINAPI_FAMILY_APP
定义一个应该可以认为它是一个地铁应用...
要添加您的回答,请参阅本文两用编码技术的游戏
在引言部分
对于Windows应用商店编写的应用程序使用Windows运行时(WinRT的)和位于核心API系列Win32 API的限制子集(由WINAPI_FAMILY表示设为WINAPI_PARTITION_APP)。 传统的Win32桌面应用程序可以使用一个更大的桌面API系列(由WINAPI_FAMILY表示设为WINAPI_PARTITION_DESKTOP),但这是根据为每个功能所需的操作系统支持各种级别
尝试__WRL_WINRT_STRICT__
。 不能完全肯定这是正确的,但如果你在该文件中去看看它可能会得到你想要的东西。
从这里和这里 。