C ++访问main之外的命令行参数?

时间:2009-11-16 18:02:50

标签: c++ windows arguments unmanaged

我有几个命令行应用程序,最终都调用com对象。他们可以访问从命令行传递的参数吗?

,而不是为这些com对象添加新接口

编辑:我可以调用GetModuleFileName来获取文件名。我想知道是否有一个等效的方法来获得args。

3 个答案:

答案 0 :(得分:8)

您正在寻找的Win32 API是:GetCommandLine

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

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

答案 1 :(得分:3)

这是特定于平台的。

在Win32中,您可以使用GetCommandLine()

但是你必须手动进行解析。

答案 2 :(得分:1)

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