Inno Setup Mata un proceso en ejecución

Ya he implementado una forma de encontrar si un proceso ("iexplore.exe") se está ejecutando, ahora necesito encontrar una forma de cerrarlo (terminar el proceso) desde Inno Setup.

strProg := 'iexplore.exe';
winHwnd := FindWindowByWindowName(strProg);
MsgBox('winHwnd: ' + inttostr(winHwnd),  mbInformation, MB_OK );
if winHwnd <> 0 then
  retVal:=postmessage(winHwnd,WM_CLOSE,0,0);

El cuadro de mensaje en el ejemplo anterior siempre devolverá 0, por lo tanto, nunca se obtiene ningún identificador. (elWM_CLOSE constante en el ejemplo está correctamente inicializado) Necesito otra forma de hacerlo, y con suerte una que no implique escribir una DLL de C ++ que haga esto (no soy competente en C ++, podría escribir una DLL en C #, sin embargo, no sé si Inno Setup interoperará con eso).

Esta DLL de C # obtendría la lista de procesos, iteraría a través de los nombres de los procesos, encontraría una coincidencia (== "iexplorer") y luego eliminaría los procesos con ese nombre ... sin embargo, todavía espero encontrar una solución más fácil para que No tendría que interoperarlo con el script Pascal.

¡Gracias por adelantado

Respuestas a la pregunta(4)

Su respuesta a la pregunta