Heim > Backend-Entwicklung > C++ > Hauptteil

Wie starte ich eine EXE-Datei von einer anderen C-EXE-Datei mit CreateProcess()?

Barbara Streisand
Freigeben: 2024-10-30 04:03:02
Original
495 Leute haben es durchsucht

How to Launch an .exe File from Another C   .exe Using CreateProcess()?

Öffnen einer .exe-Datei von C mit CreateProcess()

Wenn Sie eine .exe-Datei von einer anderen C-.exe starten möchten, wird die Von der system()-Funktion wird im Allgemeinen abgeraten, da sie potenzielle Nachteile in Bezug auf Sicherheit, Effizienz und Antivirenkompatibilität mit sich bringt.

Erwägen Sie stattdessen die Verwendung der CreateProcess()-Funktion, mit der Sie einen neuen Prozess zum Ausführen des Ziels erzeugen können .exe-Datei unabhängig voneinander. Hier ist ein Beispiel, das seine Verwendung demonstriert:

<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>
Nach dem Login kopieren

Übergeben Sie den absoluten Pfad zur .exe-Datei als lpApplicationName-Argument an diese Funktion.

Fehlerbehebung beim vorherigen Code

In Ihrem ursprünglichen Code, der system() verwendet, ist der aufgetretene Fehler wahrscheinlich auf das Fehlen eines Pfads zu OpenFile.exe zurückzuführen. Stellen Sie sicher, dass die angegebene .exe-Datei in dem Pfad vorhanden ist, den Sie für system() oder CreateProcess() angeben.

Das obige ist der detaillierte Inhalt vonWie starte ich eine EXE-Datei von einer anderen C-EXE-Datei mit CreateProcess()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!