【发布时间】:2015-08-05 16:52:21
【问题描述】:
让我想编写一个启动另一个应用程序的应用程序。像这样:
# This will launch another_app.exe
my_app.exe another_app.exe
# This will launch another_app.exe with arg1, arg and arg3 arguments
my_app.exe another_app.exe arg1 arg2 arg3
这里的问题是我在我的main 函数中得到了char* argv[],但我需要将它合并到LPTSTR 以便将它传递给CreateProcess。
有一个 GetCommandLine 函数,但我不能使用它,因为我从 Linux 移植代码并绑定到 argc/argv(否则,这对我来说是一个非常丑陋的 hack)。
我不能轻松地手动合并参数,因为argv[i] 可能包含空格。
基本上,我想要CommandLineToArgvW 的反面。有没有标准方法可以做到这一点?
【问题讨论】:
-
你觉得这个问题的哪个方面很难?
-
@DavidHeffernan 我希望你是在开玩笑。代码审查不能容忍这种情况。
-
@DavidHeffernan:然后首先要求 OP 发布工作代码,同时确保某些代码确实存在。在问题准备就绪之前,不要推荐其他网站。
-
@Jamal 这显然是不同网站上的不同问题。我没有说“在那里问这个问题”,我说“在那里问”。
-
@RossRidge 工作代码的问题是“现在我需要逆,那是什么?”很可能在这里和那里无关紧要(功能请求在代码审查中是无关紧要的)。默认情况下,并非所有 SO 上的工作代码都是题外话。
标签: c++ c windows winapi createprocess