В этом руководстве мы рассмотрим, как открыть исполняемый файл (.exe) из другого исполняемого файла C.
Прежде чем углубляться в решение, очень важно подчеркнуть опасности использования функции system(). System() имеет несколько недостатков:
Вместо system(), мы рекомендуем использовать функцию CreateProcess(). Эта функция позволяет запустить исполняемый файл, создав независимый процесс.
#includeVOID startup(LPCTSTR lpApplicationName) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); CreateProcess( lpApplicationName, // executable path argv[1], // command line NULL, // process handle not inheritable NULL, // thread handle not inheritable FALSE, // no handle inheritance 0, // no creation flags NULL, // parent's environment block NULL, // parent's starting directory &si, // STARTUPINFO structure &pi // PROCESS_INFORMATION structure ); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); }
Возникшая ошибка, скорее всего, связана с тем, что вы не указали полный путь к исполняемому файлу. Убедитесь, что вы указали полный путь, включая имя файла.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3