我无法找到任何有关如何处理 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() 读取参数,然后由应用程序处理这些参数。
最佳答案
有多种方法可以在 UWP XAML 应用程序中获取命令行参数。获取命令行的自然方法是覆盖 Application::OnLaunched成员,通过 LaunchActivatedEventArgs争论。它的Arguments属性保存命令行。
或者,您可以查询操作系统:GetCommandLineW从应用程序内的任何位置返回命令行。 (请注意,CommandLineToArgvW 将命令行解析为单个参数在 UWP 应用程序中不可用。)
如果您确实需要将命令行分解为单独的参数,则必须使用 Microsoft 特定的 C 运行时实现扩展:__argc
and __wargv
提供分解的命令行参数,就像通过标准 main
入口点获取它们一样。
关于c++-winrt - 如何读取更新的 C++/WinRT/XAML UWP 应用的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54488913/