在16299支持在软件自己重启,不需要让用户点击关闭然后启动,虽然我还不知道这个有什么用。本文告诉大家如何让软件关闭重新打开。

首先需要使用的版本是 16299 ,然后使用 RequestRestartAsync 方法就可以关闭软件重新打开。

下面就是简单的软件


    <StackPanel>
        <TextBlock Margin="100" HorizontalAlignment="Center" Text="点击上面的按钮重启   林德熙"></TextBlock>
        <Button HorizontalAlignment="Center" Content="重启" Click="ButtonBase_OnClick"></Button>
    </StackPanel>

        private async void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            await CoreApplication.RequestRestartAsync("退出");
        }

这个方法在 CoreApplication ,使用的时候可以传入参数,在软件打开的时候可以拿到这个参数

请看代码

        protected override void OnActivated(IActivatedEventArgs args)
        {
            base.OnActivated(args);
            Debugger.Launch();
            LaunchActivatedEventArgs launchArgs = args as LaunchActivatedEventArgs;
            string str = launchArgs?.Arguments;
          
        }

如果需要调试点击按钮重新打开,需要点击周期选择挂起,然后才会重新打开

如果需要重新打开的软件进入调试,可以在 OnLaunched 添加下面代码

            Debugger.Launch();

添加了这句代码就可以在软件启动进入调试

How to Restart your App Programmatically - Building Apps for WindowsBuilding Apps for Windows


本文会经常更新,请阅读原文: https://lindexi.gitee.io/lindexi/post/win10-uwp-%E9%87%8D%E5%90%AF%E8%BD%AF%E4%BB%B6.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系