您如何读取更新的 C++/WinRT/XAML UWP 应用程序的命令行参数
How do you read command line arguments for the updated C++/WinRT/XAML UWP apps
我找不到任何关于如何处理 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 member, that gets passed a LaunchActivatedEventArgs argument. Its Arguments 属性 保存命令行。
或者,您可以查询 OS:GetCommandLineW returns the command line from anywhere inside the application. (Note, that CommandLineToArgvW 将命令行解析为单个参数在 UWP 应用程序中不可用。)
如果您确实需要将命令行分解为单独的参数,则必须使用 Microsoft 对其 C 运行时实现的特定扩展:__argc
and __wargv
以与您相同的方式提供分解的命令行参数让他们通过标准 main
入口点。
我找不到任何关于如何处理 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 member, that gets passed a LaunchActivatedEventArgs argument. Its Arguments 属性 保存命令行。
或者,您可以查询 OS:GetCommandLineW returns the command line from anywhere inside the application. (Note, that CommandLineToArgvW 将命令行解析为单个参数在 UWP 应用程序中不可用。)
如果您确实需要将命令行分解为单独的参数,则必须使用 Microsoft 对其 C 运行时实现的特定扩展:__argc
and __wargv
以与您相同的方式提供分解的命令行参数让他们通过标准 main
入口点。