在 C++ Windows 应用程序中访问命令行参数

问题描述

我有一个用 Embarcadero C++Builder 编写的 C++ Windows 应用程序,我想将命令提示符中给出的参数传递给应用程序。

T

我如何从这里开始?

解决方法

首先,您的 _tWinMain 入口点的最后 2 个参数是错误的。它们实际上被定义为 LPSTR lpCmdLine,int nShowCmdargv/argc 参数仅在控制台应用程序的 main() 样式入口点中提供,而不是在 GUI 应用程序的 WinMain 样式入口点中提供。 lpCmdLine 参数是指向包含整个原始命令行的单个字符串的指针,它不会像 main() 那样预先解析为子字符串数组。而 nShowCmd 参数与命令行完全无关。

您可以使用 Win32 API GetCommandLineW()CommandLineToArgvW() 函数来获取这样的数组。

或者,C++Builder 的 RTL 有几个自己的 Command Line Support Routines