UWP app start automatically at startup

假如想象 提交于 2019-11-27 08:28:29

It seems that MS will add this feature - windows.startupTask - not only for converted desktop apps, but also UWP apps.

You can see it from about 37:00 Tip, tricks, and secrets: Building a great UWP app for PC

But this feature is not ready yet - It'll be available with Windows 10 Fall Creators Update.(I've tried with SDK 16225 but not ready yet)

Added 12/18/2017 - You can do it with Win10 Fall Creators Update.Following post show the details.

Configure your app to start at log-in (Windows Blog)

One consideration point is: By the feature, you can just 'start' the app - the app window is not shown. To see the app window, the user should click the app task at the task bar. It's a slightly ridiculous implementation for me. From the view of customer, 'click to start' and 'click to activate' is same behavior. You can do the some task in background before the user activate the app, but this is an another story.

@hsmiths wrote easist solution to start app automatically and I'd like to summarize in step by step.

  1. Open File Explorer
  2. In address bar, copy-and-paste shell:AppsFolder
  3. Right-click the app and then click Create Shorcut.
  4. The message box asks to create shorcut on the Desktop. Click Yes.
  5. In File Explorer address bar, copy-and-paste shell:startup
  6. Go to Desktop and copy-and-paste shorcut to File Explorer.
  7. Reboot your computer if you want to test.

+Tip: if you want to by-pass login dialog on Windows startup.

  1. Start > Run
  2. type control userpasswords2
  3. User Accounts window will be opened. Uncheck Users must enter a user name ...
  4. When you click OK, you will be asked to enter account password. Type password.
  5. Reboot your computer if you want to test.

If it's a desktop application converted to UWP you can declare a startup task in your appmanifest like this:

<desktop:Extension Category="windows.startupTask" Executable="bin\MyStartupTask.exe"
EntryPoint="Windows.FullTrustApplication">
    <desktop:StartupTask TaskId="MyStartupTask" Enabled="true" DisplayName="My App Service" />
</desktop:Extension>

See Converted desktop app extensions

You can on Windows 10 (I'm not sure about Windows 8 or earlier versions), here's the instructions from Microsoft: https://docs.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task

Even in Windows 10 IoT you can set an app to autostart through a PS command:

[192.168.0.243]: PS C:\> iotstartup list MyBackgroundApp

You can create a .bat script that execute "start AppID!App" "AppID!App" string is available in shell:AppsFolder view, you have to add the given column.

Then place the .bat file in the startup folder:

  • "shell:startup" for the given user,
  • "c:\windows\system32\GroupPolicy\User\Scripts\Logon" for all the users of the given computer

I think that is not possible, but maybe you can use a trigger in order to activating a background task when something happen.. Here's a list of the available triggers:

  • SystemTrigger
  • MaintenanceTrigger
  • TimeTrigger
  • PushNotificationTrigger
  • NetworkOperatorNotificationTrigger
  • NetworkOperatorHotspotAuthenticationTrigger

However you have some constraint.. take a look here: http://blogs.msdn.com/b/windowsappdev/archive/2012/05/24/being-productive-in-the-background-background-tasks.aspx

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!