Por que um aplicativo de tela cheia não vai sempre cobrir a barra de tarefas?

Estou usando o Windows Vista e C # .net 3. 5, mas tive meu amigo executar o programa no XP e tem o mesmo problema.

Então eu tenho um programa c # que eu tenho executado em segundo plano com um ícone no SystemTray. Eu tenho um gancho de teclado de baixo nível, então quando eu pressiono duas teclas (Ctr + windows neste caso) ele puxará o formulário principal do aplicativo. O formulário está configurado para tela cheia na tecla de combinação pressione até manipulador:

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

Então basicamente funciona. Quando eu clico em CTR + Windows, aparece o formulário, não importa em qual programa eu tenha me focado. Mas, às vezes, a barra de tarefas ainda aparece no formulário, o que não quero. Eu quero que seja sempre em tela cheia quando eu acertar essa combinação de teclas.

Eu acho que tem algo a ver com qual aplicativo tem foco originalmente. Mas mesmo quando clico no meu formulário principal, a barra de tarefas às vezes fica lá. Então, eu me pergunto se o foco é realmente o problema. Parece que às vezes a barra de tarefas está sendo teimosa e não quer ficar atrás do meu programa.

Alguém tem alguma idéia de como eu posso consertar isso?

EDIT: mais detalhes - estou tentando obter o mesmo efeito que um navegador da web tem quando você colocá-lo no modo de tela inteira ou quando você coloca o powerpoint no modo de apresentação.

Em uma forma de janelas, você faz isso colocando o estilo de borda em nenhum e maximizando a janela. Mas às vezes a janela não cobre a barra de tarefas por algum motivo. Metade do tempo vai.

Se eu tiver a janela principal no topo, os outros ficarão para trás quando eu clicar nela, o que não quero se a barra de tarefas estiver oculta.

questionAnswers(5)

yourAnswerToTheQuestion