Busca la funcion que necesitas!

jueves, 6 de enero de 2011

C - Función TerminarProceso

Esta función que hize utiliza el API TerminateProcess para terminar un proceso en windows, la función esta basada en un código que muestra los procesos de p0is0n, con esto podrás terminar un proceso desde C con tan solo saber el nombre del proceso, saludos!

Basada en la funcion de mostrar los procesos de p0is0n, así que la gran parte de los créditos van para él (:
Código:
#include <stdio.h>
#include <windows.h>
#include <Tlhelp32.h>
/**************************
* Coder: Linkgl           *
* Basada en al funcion    *
* de p0is0n               *
**************************/
BOOL TerminarProceso(char *nombre)
{
  PROCESSENTRY32 pProceso; //estructura del proceso
  HANDLE hTproceso,hFinal; //Handles necesarios
  DWORD id;
  hTproceso=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  Process32First(hTproceso,&pProceso);
  while(Process32Next(hTproceso,&pProceso))
  {
    if(strcmp(nombre,pProceso.szExeFile)==0)
    {
      id=pProceso.th32ProcessID;
      hFinal=OpenProcess(PROCESS_TERMINATE,TRUE,id);
      TerminateProcess(hFinal,0);
      CloseHandle(hTproceso);
      CloseHandle(hFinal);
      return TRUE;
    }
  }
  return FALSE;
}

int main(int argc, char *argv[])
{
  if(TerminarProceso("firefox.exe")==TRUE)
    printf("Proceso terminado");
  else
    printf("No se encontro el proceso");
  getchar(); 
  return 0;
}//Compilado con mingw en Dev C++
 Dudas, sugerencias o críticas en los comentarios!.

2 comentarios:

  1. u.u un codogo un poco complejo pa mi .. pero muy util

    ResponderEliminar
  2. @Carlos!, poco a poco puedes leerlo preguntarme o preguntar tus dudas y puedes implementarlo en tus programas con toda libertad no es dificil aplicar el uso al códe :P

    ResponderEliminar