從C 啟動可執行檔:system() 的替代方案
在C 中,可以使用system 來實現從另一個可執行檔啟動可執行檔() 函數,但這種方法會帶來安全性和系統效率問題。更穩健的方法涉及利用 CreateProcess() 函數。
<code class="cpp">#include <windows.h> 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); }</code>
使用CreateProcess():
錯誤故障排除:
確保指定的執行檔路徑正確。所提供的程式碼中遇到的錯誤可能是由於「OpenFile.exe」的路徑無效。
以上是如何從 C 啟動可執行檔:「system()」的更安全替代方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!