首页 > 代码库 > 通过子线程(可成为多个线程的子线程mfpmp.exe)和线程名称判断两个线程是否为主次关系

通过子线程(可成为多个线程的子线程mfpmp.exe)和线程名称判断两个线程是否为主次关系

功能描述:

两个播放器,一个为WMP,一个为MediaFundation写的exe播放器,两个播放器在播放保护视频时,都会调用windows自带的mfpmp.exe来进行播放,外部dll是主要的程序,通过dll进行图像增强。区分主线程ID

//获得父进程ID,失败则返回0

DWORD   GetPPid()   

{           

    HANDLE            hProcessSnap   =   NULL;     

    PROCESSENTRY32    pe32    =    {0};

    DWORD dwPID = GetCurrentProcessId();

     

    hProcessSnap   =   CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,   0);     

     

    if(hProcessSnap==(HANDLE)-1)     

        return   (FALSE);     

 

    pe32.dwSize   =   sizeof(PROCESSENTRY32);     

     

    if   (Process32First(hProcessSnap,   &pe32))     

    {   

        while(pe32.th32ProcessID!=dwPID)   

            Process32Next(hProcessSnap,   &pe32);   

    } 

     

    CloseHandle(hProcessSnap);

     

    return(pe32.th32ParentProcessID);   

}

通过子线程(可成为多个线程的子线程mfpmp.exe)和线程名称判断两个线程是否为主次关系