有没有人有想法在c ++中同时打开具有不同参数的同一个exe文件
在过去,我总是在windows中打开多个表示同时运行exe的行,
但是,它似乎不是解决它的最佳方法。因此,我尝试在c ++中实现它,以便同时自动运行多个处理
我试过了this,但它仍然无法正常工作....
我的问题:
例如运行
1. a.exe -dir D:-num 1000
2. a.exe -dir D:-num 1500
3. a.exe -dir D:-num 2500
同时在c ++中。
答案 0 :(得分:0)
(由OP编辑回答。见Question with no answers, but issue solved in the comments (or extended in chat))
OPs解决方案是:
溶胶:
std::ostringstream trainsamplesCmd[2];
trainsamplesCmd[0] << "a.exe -data cascade/1 -vec vec/test.vec -bg neg.txt -numPos 1000 -numNeg 1000 -w 30 -h 14";
trainsamplesCmd[1] << "a.exe -data cascade/2 -vec vec/test.vec -bg neg.txt -numPos 1500 -numNeg 1000 -w 30 -h 14";
for(int i = 0; i < 2; i++) {
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
if( !CreateProcess( NULL, // No module name (use command line)
const_cast<char *>(trainsamplesCmd[i].str().c_str()), // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)
{
printf( "CreateProcess failed (%d).\n", GetLastError() );
system("pause");
return 0;
}
}