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
Ir a la versión completa