Ausführbare Dateien aus C starten: Eine Alternative zu system()
In C kann das Starten einer ausführbaren Datei aus einer anderen ausführbaren Datei mithilfe des Systems erreicht werden ()-Funktion, aber diese Methode wirft Bedenken hinsichtlich Sicherheit und Systemeffizienz auf. Ein robusterer Ansatz beinhaltet die Verwendung der Funktion „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>
Verwendung von „CreateProcess()“:
Fehlerbehebung:
Stellen Sie sicher, dass der angegebene Pfad zur ausführbaren Datei korrekt ist. Der im bereitgestellten Code aufgetretene Fehler ist wahrscheinlich auf einen ungültigen Pfad zu „OpenFile.exe“ zurückzuführen.
Das obige ist der detaillierte Inhalt vonWie starte ich ausführbare Dateien von C: Eine sicherere Alternative zu „system()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!