Cerrar Grupo de programas desde C

modena

He creado un programa que me abre el Mozilla Firefox, X veces. Ahora me gustaria, que cuando acabase, cerrase todos los Firefox.exe que ha abierto.

El codigo que llevo por ahora es este:

#include<stdio.h>
#include<stdlib.h>

int main(){


int cont=1, n;

printf("-------------\n");
printf("Impresion web|\n");
printf("-------------\n\n");
printf("Introduce la pagina que quieres visitar N veces, como tu pagina de inicio en Firefox\n\n");

printf("Numero de impresiones solicitadas:");
scanf("%d", &n);

while(cont<=n){
             system("firefox.exe");
             cont++;
             }

}

Un Saludo y Gracias de antemano.

cabron

Usa la función system() y para ejecutar el comando taskkill (comando de windows, en linux creo que es kill ) con el nombre o el PID del proceso que quieres terminar.

modena

#2 Podrias ponermelo en Codigo? esque llevo solo 2 semanas dando C (y es la primera vez que doy C en mi vida) y toy un poco perdido.

Alx

sprintf(ejecuta, "kill -9 %s", nombre_del_programa);
system(ejecuta);

cabron

Si usas windows no te va a funcionar lo de #4, tienes que usar el comando taskkill

modena

#5 Puedes ponerme el codigo por favor?

Alx

sprintf(ejecuta, "taskkill /IM %s", nombre_del_programa);
system(ejecuta);

modena

Y eso donde lo pongo? en una funcion a parte?, en mitad del main? o donde?
Pruebo a meterlo debbajo del while, y me dice que ejecuta esta "undeclared".
Otras cosa, en nombre_del_programa, pongo "firefox" o "firefox.exe"?

Soz si parezco tonto pero esque toy perdido.

Alx

Si es windows firefox.exe
y lo de ejecuta debe ser una cadena de caracteres en C o un string en C++.

Puedes hacer char ejecuta[50];
para declarla.

Un consejo, entiende el porqué de las cosas más que hacer copy & paste, a la larga aprenderás más, aunque al principio vayas más lento.

Usuarios habituales

  • Alx
  • modena
  • cabron