解析路径中包含空格的进程的命令行参数时,路径会被CommandLineToArgvW分割成多段。
在所有 Windows 的 C: 驱动器上都存在一个名为“Program Files”的文件夹。
...哇
MSDN 页面没有提到这是一个问题。我只是使用错误的功能吗?否则我应该如何预测哪些词是路径的一部分?
最佳答案
CommandLineToArgvW
以空格分隔行 - 如果您需要一个参数(或程序名称)来包含空格,您需要用引号将其括起来。
C:\Program Files
- argv[0] = C:\Program, argv[1] = 文件“C:\Program Files”
- argv[0] = C:\Program Files
请注意,您可以使用 GetModuleFileName
获取进程的文件路径 - 您可以执行此操作以确定路径是否包含空格,并在解析之前根据需要在命令行中插入引号.
关于c++ - 正确使用 CommandLineToArgvW?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20111868/