Buenos días gente.

Lo primero de todo saludar, ya que soy nuevo aquí, y agradecer el trabajo de la web y foro, me ayudan bastante la verdad.

He buscado en el foro temas relacionados con mi problema y no los he localizado, así que me animo a abrir este post. Espero que no haya ningún tema relacionado.


Os cuento, estoy haciendo un programa que tiene una vista modo barra, como la típica barra del google lateral. La barra tiene la opción de ocultación automática, que cuando pasas el ratón por encima reaparece.
Para hacer esto, la barra, aunque oculta, mediante un timer que hace el opacity a 0%, sigue en primer plano. Con un evento capta que la posición del ratón esté encima de la barra y con otro timer reaparece la barra.

El problema es que si tengo funcionando un programa en pantalla completa, sea el internet explorer, una presentación de power point, etc. Si paso el ratón por la barra esta reaparece, y no debería de aparecer. Necesito que no aparezca.

He visto que barras como la de google, una vez que un programa está en pantalla completa, no reaparece. Por lo cual se puede, ¿como? no lo se.

Pensaba que, con un evento, captar cual es la ventana activa y comprobar si está en pantalla completa. Pero cualquier evento es del programa, por lo que la ventana activa pasa a ser mi programa. Como por ejemplo el OnMouseEnter.

La otra opción era hacer un timer y que cada x tiempo hiciese una lista con los procesos y buscase cual tienen full screen, pero es imposible, haría lentísimo el programa.

La ventana, cuando está fija, tiene topmost = false, pero se coloca justo encima de la barra de tareas de windows y reajusta las ventanas para que la barra siempre se vea.

Con modo ocultación tengo topmost = true, para que capte que el ratón pase por encima.

Comentadme si se os ocurre algo.

Un saludo y gracias por todo!