Автоматически открывать приложение UWP, которое запускается при запуске - PullRequest
0 голосов
/ 05 ноября 2018

Я работаю над приложением UWP, созданным Unity. В соответствии с документацией по StartUpTasks здесь я настроил приложение на запуск при запуске, однако, когда оно запускается, оно минимизируется на панели задач. Мне нужно, чтобы приложение было открыто при его запуске, но я не знаю, как позвонить и где это сделать.

Это код, сгенерированный Unity:

namespace UnityToUWPApp
{
    class App : IFrameworkView, IFrameworkViewSource
    {
        private WinRTBridge.WinRTBridge m_Bridge;
        private AppCallbacks m_AppCallbacks;

        public App()
        {
            SetupOrientation();
            m_AppCallbacks = new AppCallbacks();
        }

        public virtual void Initialize(CoreApplicationView applicationView)
        {
            applicationView.Activated += ApplicationView_Activated;
            CoreApplication.Suspending += CoreApplication_Suspending;

            // Setup scripting bridge
            m_Bridge = new WinRTBridge.WinRTBridge();
            m_AppCallbacks.SetBridge(m_Bridge);

            m_AppCallbacks.SetCoreApplicationViewEvents(applicationView);
        }

        private void CoreApplication_Suspending(object sender, SuspendingEventArgs e)
        {
        }

        private void ApplicationView_Activated(CoreApplicationView sender, IActivatedEventArgs args)
        {
            CoreWindow.GetForCurrentThread().Activate();
        }

        public void SetWindow(CoreWindow coreWindow)
        {

            m_AppCallbacks.SetCoreWindowEvents(coreWindow);
            m_AppCallbacks.InitializeD3DWindow();
        }

        public void Load(string entryPoint)
        {
        }

        public void Run()
        {
            m_AppCallbacks.Run();
        }

        public void Uninitialize()
        {
        }

        [MTAThread]
        static void Main(string[] args)
        {
            var app = new App();
            CoreApplication.Run(app);
        }

        public IFrameworkView CreateView()
        {
            return this;
        }

        private void SetupOrientation()
        {
            Unity.UnityGenerated.SetupDisplay();
        }
    }
}

Как я могу убедиться, что приложение при запуске открыто и активно?

1 Ответ

0 голосов
/ 05 ноября 2018

Приложения UWP, которые задаются в качестве задачи запуска, запускаются как свернутые / приостановленные в зависимости от проекта. Это сделано для того, чтобы обеспечить удобство работы с приложением Store по умолчанию и избежать запуска тонны приложений при загрузке.

Классические приложения Win32, а также приложения для настольных мостов могут по-прежнему запускаться на переднем плане по причинам обратного соответствия / согласованности.

Чтобы достичь своей цели, вы можете включить в ваш пакет простой лаунчер Win32 exe и установить его в качестве задачи запуска. Затем, когда он начинается, вы просто запускаете UWP оттуда на передний план. Обратите внимание, что для этого потребуется объявить возможность «runFullTrust», что потребует дополнительной проверки для Магазина Microsoft на борту.

Чтобы объявить исполняемый файл Win32 в качестве задачи запуска, следуйте разделу «Настольный мост» в этом разделе документа: https://docs.microsoft.com/en-us/uwp/api/Windows.ApplicationModel.StartupTask

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...