このガイドでは、別の C 実行可能ファイル内から実行可能ファイル (.exe) を開く方法について説明します。
解決策を掘り下げる前に、system() 関数を使用する危険性を強調することが重要です。 System() にはいくつかの欠点があります。
代わりに CreateProcess() を使用します。 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