2012-09-08 97 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服務。