Ver Mensaje Individual
  #2  
Antiguo 07-05-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 12
aguml Va por buen camino
Casi lo solucioné así pero no se si será la mejor solución:
Código PHP:
bool THiloDebugger::AtachProcessByNameWindow(char *wName,int &Error)
{
    
HWND HParent;
    
DWORD ProcessId;
    
DWORD ThreadId;
    
int retval=false;

    
HParent=FindWindow(NULL,wName);
    if(
HParent){
        
ThreadId=GetWindowThreadProcessId(HParent,&ProcessId);
        if(
ThreadId){
            if(
DebugActiveProcess(ProcessId)){

                    
pi.dwThreadId=ThreadId;
                    
pi.hProcess OpenProcessPROCESS_QUERY_INFORMATION PROCESS_VM_READ PROCESS_TERMINATEFALSEProcessId);
                    
pi.dwProcessId=ProcessId;
                    
retval=true;
                    
Error=0;

            }else{
                
Error=-1;
            }
        }else{
            
Error=-2;
        }
    }else{
        
Error=-3;
    }
    return 
retval;

Con esto ya obtengo el Handle del proceso atacheado pero me sigue faltando el pi.hThread. ¿como puedo obtenerlo? No da error pero estoy haciendo un CloseHandle(NULL) porque es lo que pale al salir del depurado porque pi.hThread no la he inicializado con el valor y vale NULL.
Responder Con Cita