2
LPCTSTR applicationName = NUL // NULL => module name from command line
string argument1 = "something";
string argument2 = "anotherthing";
LPTSTR  commandLine = "childpath\\child.exe";
success = CreateProcess(
applicationName,
commandLine,
processSecurityAttrs,etc...)

我在这里尝试做的是尝试将父母的命令行参数传递给孩子。但它是LPTSTR,我不知道如何组合stringLPTSTR输入并将其传递给孩子。它给了我类型def。错误。我使用 Visual Studio 2013 和 C++。

4

1 回答 1

3

根据文档

此函数的 Unicode 版本 CreateProcessW 可以修改此字符串的内容。因此,此参数不能是指向只读内存的指针(例如 const 变量或文字字符串)。如果此参数是一个常量字符串,该函数可能会导致访问冲突。

文档中的示例:

LPTSTR szCmdline[] = _tcsdup(TEXT("\"C:\\Program Files\\MyApp\" -L -S"));
CreateProcess(NULL, szCmdline, /* ... */);
于 2015-03-09T08:09:38.220 回答