在本指南中,我们将探讨如何从另一个 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