我已经知道如何设置应用程序以在登录时启动,这是我的代码:
<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,它涉及使用附加应用程序以指定的参数启动目标应用程序,然后根据参数将目标应用程序最小化,听起来像它可以工作,但是如何启动目标应用程序在一个应用程序中?
感谢您阅读,祝您有美好的一天!
恐怕您无法像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;
}
}
}