使用CreateProcess() 從C 開啟.exe 檔案
當旨在從另一個C .exe 啟動.exe 檔案時, system () 函數通常不鼓勵使用,因為它在安全性、效率和防毒相容性方面有潛在缺陷。
相反,請考慮使用 CreateProcess() 函數,它允許您產生一個新進程來執行目標.exe獨立檔案。以下是示範其用法的範例:
<code class="c++">#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>
將 .exe 檔案的絕對路徑作為 lpApplicationName 參數傳遞給此函數。
對先前程式碼進行故障排除
在使用system() 的原始程式碼中,您遇到的錯誤可能是由於缺少OpenFile.exe 的路徑造成的。確保指定的 .exe 檔案存在於您提供給 system() 或 CreateProcess() 的路徑中。
以上是如何使用 CreateProcess() 從另一個 C .exe 啟動 .exe 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!