C # - ¿Por qué una aplicación de formato de pantalla completa no cubre SIEMPRE la barra de tareas?

Estoy usando Windows Vista y C # .net 3.5, pero mi amigo ejecutó el programa en XP y tiene el mismo problema.

Así que tengo un programa de C # que ejecuto en segundo plano con un ícono en SystemTray. Tengo un gancho de teclado de bajo nivel, por lo que cuando presiono dos teclas (Ctr + Windows en este caso) se extraerá el formulario principal de la aplicación. El formulario está configurado para ser de pantalla completa en la tecla de combo, incluso el controlador:

this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;

Así que básicamente funciona. Cuando presiono CTR + Windows, aparece el formulario, sin importar a qué programa me haya enfocado. Pero a veces, la barra de tareas seguirá apareciendo sobre el formulario, que no quiero. Quiero que siempre esté en pantalla completa cuando golpee esa combinación de teclas.

Me imagino que tiene algo que ver con qué aplicación tiene el enfoque originalmente. Pero incluso cuando hago clic en mi formulario principal, la barra de tareas a veces permanece allí. Así que me pregunto si el enfoque realmente es el problema. Parece que a veces la barra de tareas es obstinada y no quiere sentarse detrás de mi programa.

¿Alguien tiene alguna idea de cómo puedo arreglar esto?

EDITAR: Más detalles: estoy tratando de lograr el mismo efecto que tiene un navegador web cuando lo pone en modo de pantalla completa o cuando pone Powerpoint en modo de presentación.

En un formulario de ventanas, puede hacerlo colocando el estilo de borde en ninguno y maximizando la ventana. Pero a veces la ventana no cubre la barra de tareas por alguna razón. La mitad del tiempo lo hará.

Si tengo la ventana principal en la parte superior, las demás se quedarán atrás cuando haga clic en ella, lo cual no deseo si la barra de tareas está oculta.

Respuestas a la pregunta(5)

Su respuesta a la pregunta