Windows 8 中的新 Metro 风格/WinRT 应用程序对您可以调用的 API 有一定的限制。此外,您必须使用异步技术,并且您的应用程序必须是可暂停的,等等。我想知道如何以及是否所有这些都被强制执行。
新的 Metro 应用程序是简单的可执行程序,还是其他的东西(例如,更像 COM 控件,具有一组定义的接口)?API 限制是如何在编译时、运行时(通过沙盒等)或仅通过 Windows 应用商店策略(类似于 iOS 中的情况)实施的?如果我觉得自己很狡猾,我是否可以例如获得屏幕句柄并操作界面、在顶部添加浮动窗口、在后台启动某些东西,或者以其他方式突破 Metro 的限制?
我问的一个原因是我正在研究为 Python 创建一个 WinRT 库,以便可以使用它来编写 Metro 应用程序。但是,Python 核心显然使用了大量非 WinRT API 调用,因此这可能从一开始就注定了。我还想大致了解 Metro 应用程序的结构。
编辑:根据这个线程,您可以使用 C 运行时的所有功能。似乎您可以编译调用禁止函数的东西,但是“应用程序验证程序”会抱怨。我想知道你是否可以运行这样一个混合应用程序,如果你不关心商店(也许稍后通过为被禁止的功能编写变通方法使其与商店兼容)......