String sCommandLine; DWORD dwExitCode; PROCESS_INFORMATION pi; STARTUPINFO si; SECURITY_ATTRIBUTES sa = {sizeof(sa), NULL, TRUE}; memset(&si, 0, sizeof(si)); si.cb = sizeof(si); si.dwFlags = STARTF_USESTDHANDLES; CreatePipe(&hStdOutRead, &hStdOutWrite, &sa, 0); si.hStdOutput = hStdOutWrite; si.hStdError = hStdOutWrite; sCommandLine="make.exe"; CreateProcess(NULL,sCommandLine.c_str(),&sa,&sa,TRUE,CREATE_NO_WINDOW,NULL,NULL, &si, &pi);
还是不行. 输出信息: avrdude -p atmega48 -P com3 -c stk500v2 -U flash:w:mc_r1.14.hex -U efuse:w:0x01:m -U hfuse:w:0xc5:m -U lfuse:w:0xe2:m -U lock:w:0x3c:m process_easy: DuplicateHandle(In) failed (e=6) process_easy() failed to launch process (e=6) avrdude -p atmega48 -P com3 -c stk500v2 -U flash:w:mc_r1.14.hex -U efuse:w:0x01:m -U hfuse:w:0xc5:m -U lfuse:w:0xe2:m -U lock:w:0x3c:m Counted 17 args in failed launch
|