Estoy de acuerdo con neftali, si la idea es monitorizar los procesos, un proceso que empiece y termine en menos de medio segundo segundo (un intervalo muy aceptable para el timer del que hablábamos), o es una aplicación extraña o por lo menos con un funcionamiento atípico. La única razón que se me ocurre para necesitar detectar este tipo de aplicaciones fugaces es por motivos de seguridad, pero en ese caso, incluso si pudiéramos detectar su ejecución ¿que haríamos para protegernos?
Otra cosa, son las aplicaciones tipo "antivirus". Estas emplean toda una serie de "técnicas" para detectar, y en su caso bloquear la ejecución de un programa. Estas técnicas van desde crear drivers que actúan al nivel del kernel, hasta "parchear" las funciones CreateProcessA y CreateProcessW.
Si te sirve, hay un pequeño truco para detectar la ejecución de una aplicación, pero esta tiene que usar ventanas o al menos usar la librería user32.dll. Lo malo es que las aplicaciones de consola no usan esta librería, por lo tanto no las detectaríamos
