如何在登录后最小化桌面Bridge应用程序?

问题描述 投票:0回答:1

我已经知道如何设置应用程序以在登录时启动,这是我的代码:

<uap5:Extension
    Category="windows.startupTask"
    Executable="DC.AutoRun\AutoRun.exe"
    EntryPoint="Windows.FullTrustApplication">
  <uap5:StartupTask
    TaskId="AutoRunTest"
    Enabled="true"
    DisplayName="AutoRun Test" />
</uap5:Extension>

但是我需要将其最小化。 'IActivatedEventArgs'似乎不适用于Win32:

protected override void OnActivated(IActivatedEventArgs args)
{
    if (args.Kind == ActivationKind.StartupTask)
    {
        //Some code
    }
}

然后我发现了此link,它涉及使用附加应用程序以指定的参数启动目标应用程序,然后根据参数将目标应用程序最小化,听起来像它可以工作,但是如何启动目标应用程序在一个应用程序中?

感谢您阅读,祝您有美好的一天!

uwp desktop-bridge
1个回答
0
投票

恐怕您无法像Stenfan所说的那样为启动任务指定参数。他提供了一种可能的解决方法,即启动另一个EXE,然后启动您的应用程序。

一般步骤是为您的桌面桥应用程序注册app protocol。>>

例如:

<Extensions>
  <uap:Extension Category="windows.protocol">
    <uap:Protocol Name="startup" />
  </uap:Extension>
</Extensions>

然后创建一个启动win32应用程序以使用参数(startup:minimize)启动您的桌面桥应用程序。您可以通过以下方法获取参数。

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
}

过程参数。

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
    MainWindow mainWindow = new MainWindow();
    mainWindow.Show();
    if (e.Args.Length > 0)
    {
        var para = e.Args.First();
        var strList = para.Split(':');
        var res = strList.Last();
        if (res == "minimize")
        {      
            mainWindow.WindowState = WindowState.Minimized;                              
        }
    }
}  
© www.soinside.com 2019 - 2024. All rights reserved.