我想检查某个 DLL 是否存在于某个进程中,例如:explorer.exe 中是否存在 user32.dll,我使用此代码获取进程 PID:
DWORD GetProcId(char* ProcName)
{
PROCESSENTRY32 pe32;
HANDLE hSnapshot = NULL;
pe32.dwSize = sizeof( PROCESSENTRY32 );
hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if( Process32First( hSnapshot, &pe32 ) )
{
do{
if( strcmp( pe32.szExeFile, ProcName ) == 0 )
break;
}while( Process32Next( hSnapshot, &pe32 ) );
}
if( hSnapshot != INVALID_HANDLE_VALUE )
CloseHandle( hSnapshot );
DWORD ProcId = pe32.th32ProcessID;
return ProcId;
}
我可以用什么来检查这个 PID 中是否存在 dll?