宏认识到的WinRT?(Macro to recognize WinRT?)

2019-09-21 05:34发布

是否有新的宏代码,以确定该应用程序在WinRT的运行? 由于我工作LoadLibrary ,如果全部更换调用宏这将是巨大LoadLibrary与一个LoadPackagedLibrary ...

我理解正确的文件中,我可以通过加载任何DLL(只要它是我的包中), LoadPackagedLibrary ,对不对? (而且只要该DLL不使用列入黑名单的API ...)

Answer 1:

我最近更新到Visual Studio 2012,并认为我找到了答案,我的问题:

微软内部头宏WINAPI_FAMILY_PARTITION被用来确定WinAPI的的“级别”。 目前有WINAPI_PARTITION_DESKTOPWINAPI_PARTITION_APP ,所以我“猜”是通过这个宏可以桌面和地铁区分...

这两个宏导致另一组的宏: #define WINAPI_FAMILY_APP WINAPI_PARTITION_APP#define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_APP) 因此,如果WINAPI_FAMILY_APP定义一个应该可以认为它是一个地铁应用...



Answer 2:

要添加您的回答,请参阅本文两用编码技术的游戏

在引言部分

对于Windows应用商店编写的应用程序使用Windows运行时(WinRT的)和位于核心API系列Win32 API的限制子集(由WINAPI_FAMILY表示设为WINAPI_PARTITION_APP)。 传统的Win32桌面应用程序可以使用一个更大的桌面API系列(由WINAPI_FAMILY表示设为WINAPI_PARTITION_DESKTOP),但这是根据为每个功能所需的操作系统支持各种级别



Answer 3:

尝试__WRL_WINRT_STRICT__ 。 不能完全肯定这是正确的,但如果你在该文件中去看看它可能会得到你想要的东西。

从这里和这里 。



文章来源: Macro to recognize WinRT?