В настоящее время я работаю над программой, которая запускает программу, указанную пользователем.
передается как строка, введенная пользователем. Мой вопрос заключается в том, как сделать так, чтобы оно выдавало исключение или проверялось, передано ли значение «insIn ». В настоящее время, если пользователь вводит «notepad.exe», он запускает его правильно, но если он вводит что-то фальшивое, например «asdf», или что-то подобное, он все равно создает процесс.
try {
wchar_t* commandLine = new wchar_t [CP_MAX_COMMANDLINE];
wcsncpy_s(commandLine, CP_MAX_COMMANDLINE, passedIn.c_str(), passedIn.size() +1);
CreateProcess(NULL,
commandLine,
NULL, NULL,
false,CREATE_NEW_CONSOLE,NULL,
NULL,
&sinfo,
&pi);
delete [] commandLine;
}
catch (int e) {
cout << "An exception occurred. Exception Nr. " << e << endl;
}
Я надеялся, что мой улов схватит его, но это не так. Могу ли я что-нибудь сделать, чтобы проверить, vaild ли он?
Спасибо!