如何阅读已更新的C ++ / WinRT / XAML UWP应用程序的命令行参数

时间:2019-02-02 00:43:30

标签: c++-winrt

我还找不到任何有关如何处理C ++ / WinRT,XAML应用程序的命令行参数的文档。

在Visual Studio 15.9.6中,应用程序属性确实提供了一种在开发过程中输入命令行参数的方法,但没有处理它们的方法。

对于空白应用程序(C ++ / WinRT)模板,App.cpp文件具有以下内容:

Collections.sort

其中提到了main()和WinMain()。

我希望有一些main()或WinMain()读取参数,然后由应用程序处理。

1 个答案:

答案 0 :(得分:2)

有几种方法可以在UWP XAML应用程序中获取命令行参数。获取命令行的自然方法是覆盖Application::OnLaunched成员,该成员将传递一个LaunchActivatedEventArgs参数。它的Arguments属性包含命令行。

或者,您可以查询操作系统:GetCommandLineW从应用程序内部的任何位置返回命令行。 (请注意,CommandLineToArgvW不能将命令行解析为单独的参数,在UWP应用程序中不可用。)

如果确实需要将命令行分解为单独的参数,则必须对它的C运行时实现进行Microsoft特定的扩展:__argc and __wargv以与获取它们相同的方式提供分解后的命令行参数通过标准的main入口点。