C からの実行可能ファイルの起動 : system() の代替案
C では、別の実行可能ファイルからの実行可能ファイルの起動は、システムを使用して実現できます。 () 関数を使用できますが、この方法ではセキュリティとシステム効率の問題が生じます。より堅牢なアプローチには、CreateProcess() 関数の利用が含まれます。
#include
void startup(LPCTSTR lpApplicationName) {
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
CreateProcess(lpApplicationName,
argv[1],
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi
);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
CreateProcess() の使用:
エラー トラブルシューティング:
実行可能ファイルへの指定されたパスが正しいことを確認してください。提供されたコードで発生したエラーは、「OpenFile.exe」への無効なパスが原因である可能性があります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3