Página 1 de 1

¿Cojer pid de un proceso creado a traves de CallWindowProcA?

Publicado: 12 May 2015, 15:23
por TheCruZ
Buenas queria saver si conoceis alguna manera de cojer el pid de un proceso creado a traves de la api "CallWindowProcA" en vb6,
o recorrer la lista de procesos completa rapidamente en busca de descripciones de procesos

Un saludo !!

Re: ¿Cojer pid de un proceso creado a traves de CallWindowPr

Publicado: 12 May 2015, 15:39
por Blau
Lo que se ejecuta a través de CallWindowProcA (en tu caso seguramente) es un shellcode (RunPE) por lo que si el RunPE no tiene como valor de retorno el PID no podrás. Para listar los procesos se hace con CreateToolhelp32Snapshot.

Te dejo como lo hago en C++:
HANDLE GetProcess(char *name)
{
    HANDLE hProcess = NULL;
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 pe32;

    Process32First(hSnapshot, &pe32);
    do
    {
        if(!strcmp(name, pe32.szExeFile)) hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, pe32.th32ProcessID);
    }
    while(Process32Next(hSnapshot, &pe32));

    return hProcess;
}