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 erfolgen ()-Funktion, aber diese Methode wirft Bedenken hinsichtlich Sicherheit und Systemeffizienz auf. Ein robusterer Ansatz beinhaltet die Verwendung der CreateProcess()-Funktion.
#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);
}
Mit 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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3