Maison >développement back-end >C++ >Comment lancer des exécutables depuis C : une alternative plus sûre à `system()` ?
Lancement d'exécutables depuis C : Une alternative au système()
En C, le lancement d'un exécutable à partir d'un autre exécutable peut être réalisé en utilisant le système (), mais cette méthode pose des problèmes de sécurité et d’efficacité du système. Une approche plus robuste consiste à utiliser la fonction 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>
Utilisation de CreateProcess() :
Dépannage des erreurs :
Assurez-vous que le chemin spécifié vers l'exécutable est correct. L'erreur rencontrée dans le code fourni est probablement due à un chemin d'accès non valide vers "OpenFile.exe".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!