Red de conocimiento informático - Consumibles informáticos - (Programación VC++) ¿Cuáles son las funciones API para ejecutar archivos exe?

(Programación VC++) ¿Cuáles son las funciones API para ejecutar archivos exe?

La forma más sencilla:

Winexec (nombre de archivo, SW_Show);

CreateProcess() un poco más difícil, crea un proceso

Dar yo un ejemplo

CString str;

STARTUPINFO si

PROCESS_INFORMATION pi

// Nombre de la aplicación llamada

str = "Ping"; //"Ping.exe"

// pone a cero e inicializa STARTUPINFO

memset( &si, 0, sizeof( si )

si.cb = sizeof( si );

si.dwFlags = STARTF_USESHOWWINDOW;

si.wShowWindow = SW_SHOW

if(CreateProcess; (

NULL, // puede ser el nombre del proceso a menos que

// archivo por lotes, de lo contrario debe ser

// en la línea de comando:

(char*)LPCSTR(str), // línea de comando

NULL,NULL, // opciones de seguridad

FALSE, // si es verdadero heredará todo

// identificadores heredables

// de este proceso

NORMAL_PRIORITY_CLASS, // también puede ser HIGH_PRIORITY_CLASS

// o IDLE_PRIORITY_CLASS

NULL, // hereda el

// bloque de entorno de este proceso

NULL, // especifica el directorio de trabajo

// del proceso creado

&si, // STA RTUPINFO especificado arriba

&pi // PROCESS_INFORMATION devuelto

)

)

{

// HANDLE pH = pi.hProcess;

// // espera hasta que se aplique

ion está listo para la entrada

// if ( !WaitForInputIdle( pH,1000 ) )

// {

// // envío de mensajes, etc.

// }

// matar el proceso con 0 código de salida

// TerminateProcess( pH, 0

} <); /p>

else

{

AfxMessageBox( "¡El directorio actual del archivo Ping.exe no existe!"

}<); /p>

Existe una tercera forma, la función API

ShellExecute(0, NULL,fullPathFileName, NULL, NULL, SW_RESTORE);