c++-winrt - 如何读取更新的 C++/WinRT/XAML UWP 应用的命令行参数

标签 c++-winrt

我无法找到任何有关如何处理 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/

相关文章:

c++ - C++/WinRT 到底是什么?

uwp - 无法激活 IDL 中定义的投影类型

c++ - 升级到 Windows 10 版本 1809 SDK 后,我无法编译使用 C++/WinRT 的项目

c++-winrt - 如何初始化 cppwinrt TimeSpan 结构?

c++ - 在C++中使用WinUI的指南

window - 如何获取承载 UIElement 实例的窗口

multithreading - C++ 11线程更新MFC应用程序窗口。需要SendMessage(),PostMessage()吗?

c++ - native C++ 库与 UWP 互操作的建议/经验

c++ - 无法将 std::vector<bool> 传递给 winrt::array_view

visual-studio - 错误 : this template attempted to load component assembly 'Microsoft. VisualStudio.Universal.TemplateWizards,版本=15.0.0.0