Ver Mensaje Individual
  #7  
Antiguo 09-06-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Reputación: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código:
#include <vdmdbg.h>

struct TProcessEnumData16{
  char* Name;
  bool Running;
};

BOOL WINAPI ProcessVDMs( DWORD, DWORD, LPARAM );
BOOL WINAPI ProcessTasks( DWORD, WORD, WORD, PSZ, PSZ, LPARAM );

BOOL WINAPI
ProcessVDMs(DWORD dwProcessId, DWORD dwAttrib, LPARAM PE)
{
   VDMEnumTaskWOWEx(dwProcessId, (TASKENUMPROCEX)ProcessTasks, PE);
   return ((TProcessEnumData16*)PE)->Running;
}

BOOL WINAPI
ProcessTasks(DWORD dwThreadId, WORD hMod16, WORD hTask16, PSZ pszModName, PSZ pszFileName, LPARAM PE)
{
   if(strstr(strupr(pszFileName), strupr(((TProcessEnumData16*)PE)->Name)))
      return ((TProcessEnumData16*)PE)->Running = true;

   return false;
}

//---------------------------------------------------------------------------
IsRunning16(char* Name)
{
   TProcessEnumData16 PE = {Name,0};
   VDMEnumProcessWOW((PROCESSENUMPROC)ProcessVDMs, (LPARAM)&PE);
   return PE.Running;
}

Saludos.

Última edición por escafandra fecha: 09-06-2010 a las 16:20:34.
Responder Con Cita