Как вы читаете аргументы командной строки для обновленных приложений C ++ / WinRT / XAML UWP - PullRequest
0 голосов
/ 02 февраля 2019

Мне не удалось найти никакой документации о том, как обрабатывать аргументы командной строки приложения C ++ / WinRT, XAML.

В Visual Studio 15.9.6 свойства приложения предоставляют способ вводааргументы командной строки во время разработки, но нет способа их обработать.

Для шаблона пустого приложения (C ++ / WinRT) файл App.cpp имеет следующее:

/// <summary>
/// Initializes the singleton application object.  This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
App::App()
{
   ...
}

при этом упоминаются main () и WinMain ().

Я бы ожидал получить некоторое количество аргументов чтения для main () или WinMain (), которые затем будут обработаны приложением.

1 Ответ

0 голосов
/ 02 февраля 2019

Есть несколько способов получить аргументы командной строки в приложении XAML UWP.Естественный способ получить командную строку - переопределить элемент Application :: OnLaunched , которому передается аргумент LaunchActivationEventArgs .Его свойство Arguments содержит командную строку.

Кроме того, вы можете запросить ОС: GetCommandLineW возвращает командную строку из любого места внутри приложения.(Обратите внимание, что CommandLineToArgvW для анализа командной строки по отдельным аргументам недоступно в приложении UWP.)

Если вам нужно, чтобы командная строка была разбита на отдельные аргументы, у вас будетЧтобы перейти к конкретному расширению Microsoft к своей реализации C Runtime: __argc и __wargv предоставляют декомпозированные аргументы командной строки так же, как вы получаете их через стандартную main точку входа.

...