Ver Mensaje Individual
  #3  
Antiguo 07-05-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Lo he solucionado así:
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.hThread OpenThreadTHREAD_QUERY_INFORMATION THREAD_TERMINATEFALSEThreadId);
                    
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 y el del thread y aparentemente funciona todo ok. ¿está bien la solución?
Responder Con Cita