Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melancarkan Fail .exe dari C .exe Lain Menggunakan CreateProcess()?

Bagaimana untuk Melancarkan Fail .exe dari C .exe Lain Menggunakan CreateProcess()?

Barbara Streisand
Lepaskan: 2024-10-30 04:03:02
asal
574 orang telah melayarinya

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

Membuka Fail .exe daripada C Menggunakan CreateProcess()

Apabila bertujuan untuk melancarkan fail .exe daripada C .exe yang lain, fungsi system() biasanya tidak digalakkan kerana potensi kelemahannya yang berkaitan dengan keselamatan, kecekapan dan keserasian antivirus.

Sebaliknya, pertimbangkan untuk menggunakan fungsi CreateProcess(), yang membolehkan anda menghasilkan proses baharu untuk melaksanakan sasaran .exe fail secara bebas. Berikut ialah contoh yang menunjukkan penggunaannya:

<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>
Salin selepas log masuk

Lepaskan laluan mutlak ke fail .exe sebagai hujah lpApplicationName untuk fungsi ini.

Menyelesaikan Masalah Kod Sebelumnya

Dalam kod asal anda menggunakan system(), ralat yang anda hadapi mungkin berpunca daripada kekurangan laluan ke OpenFile.exe. Pastikan fail .exe yang ditentukan wujud dalam laluan yang anda berikan kepada system() atau CreateProcess().

Atas ialah kandungan terperinci Bagaimana untuk Melancarkan Fail .exe dari C .exe Lain Menggunakan CreateProcess()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan