我有一个使用c#开发的Windows窗体桌面应用程序。我想利用WinRT应用程序中提供的实时磁贴功能(特别是对于Windows 10)。将使用WMI查询(Win32_LogicalDisk)获取实时磁贴中的数据。 我该如何做到这一点?我不想重写整个应用程序。动态磁贴应该在后台更新,并且在单击磁贴时,需要调用我的桌面应用程序exe。是否可以从Windows应用商店应用获取WMI数据并调用exe? 我尝试使用http://blogs.msdn.com/b/dmx/archive/2014/04/30/how-to-trigger-a-desktop-process-from-windows-store-apps-the-easy-way-using-the-brand-new-visual-studio-templates.aspx中给出的Brokered Windows运行时组件。但是当我得到'TypeLoadException'时,无法让它工作。
提前致谢。
答案 0 :(得分:0)
Metro应用无法运行桌面应用。但是,他们可以使用wcf 进行通信。因此,您可以创建将打开wcf主机的小型Windows服务。然后使用实时图块创建Windows应用商店应用。当 Windows服务收到wcf调用时,它会启动桌面应用程序。
还有devexpress'能够为桌面应用程序添加动态磁贴的解决方案,但它不是免费的:https://www.devexpress.com/Products/NET/Controls/WinForms/Live-Tile-Manager/
答案 1 :(得分:0)
WinRT会阻止网络环回,因此wcf无法正常工作。你可以禁用它进行测试,但我怀疑这不会让你满意。在这里阅读更多内容(并搜索WinRT网络环回以查找有关此主题的文章)。
https://msdn.microsoft.com/en-us/library/windows/apps/Hh780593.aspx