zoukankan      html  css  js  c++  java
  • 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)

    这个标题真是取得我都觉得蛋疼。。微软改名狂魔搞得我都不知道要叫哪个好。。

    这边记录一下自己的桌面程序跟windows store app交互的过程。

    由于某些原因,微软的商店应用的安全沙箱导致很多事情无法做到,因此额外做了一个.NET桌面引擎来辅助,那么现在就需要让这两个不同环境的程序进行交互.

    第一步:在桌面应用引擎中,唤醒商店应用。

    根据MSDN解释,这边最简单的办法是使用协议(URI protocol)来解决。

    1:打开程序的Package.appxmanifest,在声明中添加协议

    名称中添加的协议就是你你要的

    例如:bingnews:// 

    可以打开bing新闻

    这个名称就是前面的红字部分

    我们试试输入weipaisuperbar

    添加完协议后,

    在App.xaml.cs中对引入的协议内容做处理

    protected override void OnActivated(IActivatedEventArgs args)
    {
        if (args.Kind == ActivationKind.Protocol)
        {
            ProtocolActivatedEventArgs protocolArgs =
               args as ProtocolActivatedEventArgs;
            var rootFrame = new Frame();
            rootFrame.Navigate(typeof(BlogItems), args);
            Window.Current.Content = rootFrame;
        }
        Window.Current.Activate();
    }
    

      转过来的就自动导航到BlogItems页面去


    OK,现在来试试吧,直接运行里输入weipaisuperbar://Whatever
    现在已经完成了这个app的启动方式了,接着到WINFORM那边写入代码试试。

    启动代码也很简单
      Process.Start("weipaisuperbar://Whatever");
    

      

    这样winform启动商店应用的问题就解决了。

    第二步,winform读取商店应用的配置文件。

    由于安全沙箱,所以捏你也别想着去读取商店应用的根目录,也没有啥注册表的权限,所以要跟外部程序交互请使用

    Roaming(可漫游数据,用户更换设备后登陆账号还可以继续漫游回来)

    Local(只在本地使用)

    能帮我们漫游数据当然最好了,我们就用这个做例子

     
    //初始化配置文件 string _Name = "settings.xml"; Windows.Storage.StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.RoamingFolder; //创建文件 var _File = await storageFolder.CreateFileAsync(_Name, Windows.Storage.CreationCollisionOption.ReplaceExisting);

      OK,这样在C:Users用户名AppDataLocalPackages程序名RoamingState里面就会有settings.xml这个文件了,接下来读写都简单了吧

    
    
  • 相关阅读:
    Python学习(二十四)—— 前端基础之Bookstrap
    Python学习(二十三)—— 前端基础之jQuery
    Python心得基础篇【4】文件操作
    Python心得基础篇【3】基本知识
    Python心得基础篇【2】函数
    WCF使用net.tcp绑定的配置实例
    WCF:如何将net.tcp协议寄宿到IIS
    WCF使用net.Tcp绑定时的注意事项
    解决WCF跨机器调用时发生“调用方未由服务进行身份验证”的错误
    在IIS中部署好WCF服务站点后,本机访问服务无问题,局域网中其他电脑访问不到
  • 原文地址:https://www.cnblogs.com/maybreath/p/4295608.html
Copyright © 2011-2022 走看看