在本指南中,我們將探討如何從另一個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