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
,我不知道如何组合string
和LPTSTR
类型并将其传递给 child 。它给我类型def。错误。我使用Visual Studio 2013和C++。 最佳答案
根据documentation:
此函数的Unicode版本CreateProcessW可以修改此字符串的内容。因此,此参数不能是指向只读存储器的指针(例如const变量或文字字符串)。如果此参数是常量字符串,则该函数可能会导致访问冲突。
来自文档的示例:
LPTSTR szCmdline[] = _tcsdup(TEXT("\"C:\\Program Files\\MyApp\" -L -S"));
CreateProcess(NULL, szCmdline, /* ... */);