Programación General > Visual C++

 Codigo Consume Cpu

(1/1)

martinss:
Hola a todos, tengo el siguiente codigo:


--- Código: Text --- int asd; void initialize(LARGE_INTEGER *lp, bool force = true){  FILE * p1File; p1File=fopen (".\\123.dll","r"); if (p1File != NULL)  {      asd = 1;  }    HMODULE  hDLL = GetModuleHandle("hola.dll");if(hDLL){  asd=1;} hDLL = GetModuleHandle("programa.dll");if(hDLL){  asd=1;} HWND hWnd = FindWindowA("#32770", "MSN Messenger");if(hWnd){   asd=1;} hWnd = FindWindowA("#32770", "Adobe Photoshop");if(hWnd){  asd=1;} hWnd = FindWindowA("#32770", "Winamp");if(hWnd){    asd=1;}  hWnd = FindWindowA("#32770", "CCleaner");if(!hWnd){    asd=1;}if(asd==1){     //salimos del programa}  
El codigo es de una DLL que al inyectarse en X proceso empiesa a realizar esas tareas pero cuando me voy al administrador de procesos veo que ese X proceso me consume entre el 5 y el 20% de CPU, me pueden ayudar a bajar el consumo? capaz lo puedan acomodar mejor o recomendarme algo.

Un saludo gente  :smartass:

Eternal Idol:
Si es un loop usa Sleep en cada una de las iteraciones ...

martinss:
una pregunta: ¿Cuántos metodos hay para saber desde una DLL si mataron al EXE que la inyecta en un proceso?

Yo use estos dos:

*Ver el PID del EXE, si el PID cambiaba el proceso donde estaba inyectada mi DLL se cerraba.
*Veia el nombre de la ventana y su classname, si no era igual o no existia cerraba el proceso.

El del PID me gusta bastante porque no consume tantos recursos de la PC pero nose, que opinan ustedes?

martinss:
Por esto consume tanto:


--- Código: Text --- HMODULE  hDLL = GetModuleHandle("hola.dll");if(hDLL){  asd=1;} hDLL = GetModuleHandle("programa.dll");if(hDLL){  asd=1;}  

Eternal Idol:
Eso normalmente no tarda nada ... aunque claro si tenes algun modulo que intenta ocultar DLLs de alguna manera y cada vez esta comparando el nombre de la DLL solicitada ... sino es totalmente ilogico lo que comentas. Depuralo ...

Navegación

[0] Índice de Mensajes

Ir a la versión completa