이 가이드에서는 다른 C 실행 파일 내에서 실행 파일(.exe)을 여는 방법을 살펴보겠습니다.
솔루션을 살펴보기 전에 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