Minimizar una aplicacion cuando otra es minimizada

Lo que necesito hacer es minimizar una aplicación escrita en C# cuando otra aplicación es minimizada.
Buscando información me topé con los HOOKS (ganchos). Con un hook se pueden procesar los mensajes que envían otras aplicaciones antes de que dichas aplicaciones respondan al mensaje. Es un rutina que se instala en el sistema y supervisa el tráfico de mensajes del sistema.
Hay 3 tipos de hook:
System hook: Intercepta mensajes del sistema.
Local system hook: Intercepta mensajes de un thread.
Global system hook: Intercepta mensajes de cualquier aplicación del sistema.

Con C# no es posible crear los gobal hooks. Se pueden crear, pero se necesita una dll en C++ que tendrá la función para procesar los mensajes.

Enlaces interesantes:
http://www.codeproject.com/csharp/globalsystemhook.asp
http://msdn.microsoft.com/msdnmag/issues/02/10/cuttingedge/
http://www.dotnetinterop.com/samples.aspx

No hay comentarios: