2012-09-08 33 views
2

地铁应用程序,我有一个传统的Win32程序,获得使用WMI一些数据(和利用现有地铁应用API它不能获取)。现在我想用这个信息的一部分来制作一个贴图。正如我所了解的,将这些数据从Win32程序发送到Metro应用程序是不可能的。做这种事情的首选方式是什么?互动与Win32的

+0

如果这是不可能的,那岂不是意味着,有没有做这件事的呢?此外,这是否也意味着不会有这样做的首选方式? –

+1

@LarryOsterman,但是,有办法发送数据(看答案)。他们是间接的,但他们应该工作。 – aplavin

+0

@HCL:您无法从商店应用程序访问本地主机。不要忘记,应用程序认证要求要求应用程序具有完全的功能和实用性 - 它不能要求Win32应用程序正常运行。 –

回答

2

没有直接应用到应用的通信方法。但是,您想要做的事情可以通过几种方式完成。您的Win32应用程序可以将数据写入Metro风格有权访问的文件系统上的某个位置。此外,您可以使用云将您的Win32应用程序与Metro风格应用程序同步。但是,您需要小心,因为这可能违反了一些app certification requirements

+0

我不想要求互联网连接,所以在像app本地目录这样的目录中创建文件似乎是解决方案。什么是可靠的方式来确定这个目录的位置(在Metro应用程序中的'ms-appdata:/// local /')? – aplavin

1

一种选择是让您的Win32程序创建磁贴XML并存入Windows Azure存储(或者真正可以通过URI访问的任何内容),然后您的Windows 8 Store应用程序可以通过Periodic Notification订阅该磁贴。

这里有一些限制,可能与您的应用程序相关或不相关 - 例如瓦片的刷新率(离散时间从30分钟到1天),并且机器必须连接到网络该网址已创建。

你也许可以纳入一个background task做类似的事情。

2

如果你只是写自己的东西(不涉及发布应用程序),你可能会考虑,目前在桌面应用程序中的功能和本地主机上运行的WCF服务中封装它。 Metro应用程序可以调用wcf服务。