Pretendo finalizar un proceso. Para eso hago uso de la funcion ExitProcess.
ExitProcess termina el proceso ACTUAL, tendrias que inyectar codigo en el otro proceso que ejecutara esa funcion. Sino podes usar TerminateProcess.
Si sigo el camino que has dicho se supone que deberia enumerarlos con EnumProcesses, obtener el path con GetModuleBaseName de cada proceso y comparar. Cierto?
Y por ultimo otra pregunta: sabes que diferencia hay entre GetModuleBaseName y GetModuleFileName?
Si, la logica seria hacer eso. Y la diferencia es que basicamente estan en dos modulos diferentes, por eso comente lo de la PSAPI.dll, el GetModuleFileName esta en Kernel32.dll ...