From 6adad8443b5c42ecba8e40700d9993d228939160 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Mon, 9 Jul 2018 22:30:47 -0700 Subject: Added command line parsing in UWP applications --- Common/NativeApp/src/UWP/App.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'Common/NativeApp/src/UWP/App.cpp') diff --git a/Common/NativeApp/src/UWP/App.cpp b/Common/NativeApp/src/UWP/App.cpp index e0af485..6147e6d 100644 --- a/Common/NativeApp/src/UWP/App.cpp +++ b/Common/NativeApp/src/UWP/App.cpp @@ -32,6 +32,7 @@ #endif #include "App.h" +#include "StringTools.h" #include @@ -83,7 +84,7 @@ void App::Initialize(CoreApplicationView^ applicationView) // can make the CoreWindow active and start rendering on the window. applicationView->Activated += ref new TypedEventHandler(this, &App::OnActivated); - + CoreApplication::Suspending += ref new EventHandler(this, &App::OnSuspending); @@ -180,8 +181,18 @@ void App::Uninitialize() void App::OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) { - // Run() won't start until the CoreWindow is activated. - CoreWindow::GetForCurrentThread()->Activate(); + if (args->Kind == ActivationKind::Launch) + { + LaunchActivatedEventArgs^ launchArgs = (LaunchActivatedEventArgs^)args; + auto CmdLine = Diligent::NarrowString(launchArgs->Arguments->Data()); + m_Main->ProcessCommandLine(CmdLine.c_str()); + } + + auto Title = Diligent::WidenString(m_Main->GetAppTitle()); + Windows::UI::ViewManagement::ApplicationView::GetForCurrentView()->Title = ref new Platform::String(Title.c_str()); + + // Run() won't start until the CoreWindow is activated. + CoreWindow::GetForCurrentThread()->Activate(); } void App::OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) -- cgit v1.2.3