【问题标题】:C++ Access to command line arguments outside main?C ++访问main之外的命令行参数?
【发布时间】:2023-03-11 02:00:01
【问题描述】:

我有几个命令行应用程序,它们最终都会调用 com 对象。与其给这些 com 对象增加新的接口,不如让它们访问从命令行传递的参数?

编辑:我如何调用 GetModuleFileName 来获取文件名。我想知道是否有等效的方法来获取参数。

【问题讨论】:

    标签: c++ windows arguments unmanaged


    【解决方案1】:

    您正在寻找的 Win32 API 是:GetCommandLine

    您的 COM 对象可能需要在您的进程中运行。

    要将命令行转换为 argv 样式的字符串数组,请调用 CommandLineToArgvW 函数。

    【讨论】:

    • 谢谢,我找不到这个。
    【解决方案2】:

    这是特定于平台的。

    在 Win32 中你可以使用GetCommandLine()

    不过,您必须手动进行解析。

    【讨论】:

      【解决方案3】:

      在 Windows 中,您可以通过 WIN32 函数 (GetCommandLine) 调用获取命令行,但不会将其解析为 argc/argv 之类的数组。如果 COM 对象使用 MFC,您可以从 CWinApp 对象获取命令行参数。否则,没有简单的方法来做到这一点。

      【讨论】:

        猜你喜欢
        • 2010-10-19
        • 2013-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-28
        • 2011-03-21
        • 1970-01-01
        • 2011-01-29
        相关资源
        最近更新 更多