Я хотел бы, чтобы выполнить команду оболочки, чтобы обновить прошивку на мой PROCESOR ATMega 2560, как это:Выполнение команды с помощью Win32
avrdude.exe -c breakout -P ft0 -p m2560 -U flash:w:\"file.cpp.hex\":a
я могу сделать это с помощью ShellExecute() функции:
ShellExecute(0, L"open", L"cmd.exe", L"/C avrdude.exe -c breakout -P ft0 -p m2560 -U flash:w:\"file.cpp.hex\":a > log.txt", 0, SW_HIDE);
Но Я хочу перенаправить выходной буфер, поэтому я думаю, что я должен использовать функцию CreateProcess(). Я попробовал это, но он не сработал.
CreateProcess(NULL, L"cmd /C avrdude.exe -c breakout -P ft0 -p m2560 -U flash:w:\"file.cpp.hex\":a", NULL, NULL, 0, 0, NULL, NULL, NULL, NULL);
Ну, что же ваш 'CreateProcess()' вернуть? Предполагая, что это ошибка, что означает 'GetLastError()' say? – zenzelezz