그래서 문자열 변수를 사용하여 프로세스를 만들려고합니다.C++ createprocess - cmd 행 매개 변수에 대한 문자열 변수 - 아무 일도 일어나지 않습니다.
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&pi, sizeof(pi));
si.cb = sizeof(si);
std::string cmd_line = game_path + " " + std::string(game_params);
std::cout << cmd_line << "\n";
if (!CreateProcess(NULL, LPTSTR(cmd_line.c_str()), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {
std::cout << "fail\n";
return false;
}
cout과의 cmd_line의 출력이 올바른 경로와 매개 변수 :
C:\\Program Files (x86)\\My_Game\\Game.exe -test -admin
CreateProcess를 호출이 false를 반환하지만, 나는 이유를 정확히 모르겠어요. 나는 이것에 아주 새롭다 그래서 어떤 도움 및 통보든지 중대 할.
[오른쪽 말의 입에서 (https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425 (V = VS.85)에서 .aspx) : "기능의 경우 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError를 호출하십시오. " 조언을 따르고 그 확장 된 정보를 얻는 것이 좋습니다. 관련성이있을 수 있습니다. – user4581301
고마워요. 여기에 코드를 사용하고 있습니다 : https://msdn.microsoft.com/en-us/library/windows/desktop/ms680582(v=vs.85).aspx 오류 코드 2 - 파일이 나타납니다. 존재하지 않습니다. 주소 표시 줄 등에서 직접 경로를 복사하고 있습니다. 뭔가 빠져 있지 않는 한 올바른 경로가 필요합니다. – user3238415