Windows 8 从Win32与Metro应用程序交互

Windows 8 从Win32与Metro应用程序交互,windows-8,wmi,microsoft-metro,Windows 8,Wmi,Microsoft Metro,我有一个传统的Win32程序,它使用WMI获取一些数据(不能使用Metro应用程序可用的API获取数据)。现在我想用部分信息制作一个平铺。据我所知,不可能简单地将这些数据从Win32程序发送到Metro应用程序。这样做的首选方式是什么?没有直接的应用程序对应用程序通信方法。然而,你想做的事情可以通过几种方式来完成。您的Win32应用程序可以将数据写入文件系统中Metro样式可以访问的位置。此外,您还可以使用云将Win32应用程序与Metro风格的应用程序同步。但是,您需要小心,因为这可能会违反某

我有一个传统的Win32程序,它使用WMI获取一些数据(不能使用Metro应用程序可用的API获取数据)。现在我想用部分信息制作一个平铺。据我所知,不可能简单地将这些数据从Win32程序发送到Metro应用程序。这样做的首选方式是什么?

没有直接的应用程序对应用程序通信方法。然而,你想做的事情可以通过几种方式来完成。您的Win32应用程序可以将数据写入文件系统中Metro样式可以访问的位置。此外,您还可以使用云将Win32应用程序与Metro风格的应用程序同步。但是,您需要小心,因为这可能会违反某些规则。

一个选项是让您的Win32程序创建磁贴XML并将其存放在Windows Azure存储(或者任何可以通过URI访问的存储)中,然后您的Windows 8存储应用程序可以通过一个URL订阅该磁贴

这里有一些约束可能与您的应用程序相关,也可能与您的应用程序无关,例如磁贴的刷新率(从30分钟到1天的离散时间段),并且当从URL进行轮询时,机器必须连接到网络


你可以把A做类似的事情。

如果你只是为自己写一些东西(不关心发布你的应用程序),你可以考虑在桌面应用程序中拥有的功能,并将其封装在运行在本地主机上的WCF服务中。Metro应用程序可以调用wcf服务。

如果不可能,这不意味着没有办法做到吗?此外,这难道不意味着没有更可取的方法吗?@LarryOsterman,然而,有发送数据的方法(看看答案)。它们是间接的,但应该起作用。@HCL:您不能从应用商店应用访问localhost。别忘了,应用程序认证要求应用程序本身必须功能齐全且有用——它不能要求Win32应用程序正常运行。@LarryOsterman:现在我编程只是为了好玩,没有商业期望,也不打算将其发布到市场上,所以我可以忽略应用程序认证要求。但是,从Microsoft看来,对Metro应用程序应用这样的API限制似乎是不友好的。@LarryOsterman:至于访问localhost,Metro应用程序可以访问计算机上的一些文件夹,例如文档或应用程序本地文件夹。我不想要求Internet连接,因此,在像app local directory这样的目录中创建文件似乎是解决方案。确定该目录位置的可靠方法是什么(
ms)-appdata:///local/
在Metro应用程序中)?