ventanas una tareas que programas programa ocultar las hacer esta escritorio ejecutando como barra aplicaciones aplicacion aparezca abiertas abierta c++ mfc winapi

c++ - una - como ocultar ventanas en la barra de tareas windows 7



¿Cómo se puede ocultar una ventana de la aplicación win32? (5)

Quiero ejecutar la aplicación en modo silencioso al pasar un parámetro; de lo contrario, mostraré la ventana.


Bueno, para empezar, podría decidir no crear una ventana si este parámetro se pasa, de lo contrario, puede intentar llamar a ShowWindow , con el control de su ventana y con el parámetro SW_HIDE , y ver si eso hace lo que necesita.

Otra forma de ocultar la ventana y nunca mostrarla, pero aún crearla, es elegir nunca llamar a ShowWindow con SW_HIDE en él, y crearlo con CreateWindow / CreateWindowEx , y no establecer el indicador WS_VISIBLE en el parámetro dwStyle .


Creo que una mejor solución no será crear la ventana si no es necesaria. Eche un vistazo a la función principal y verá el código que crea la ventana. Llámalo solo si quieres abrir la ventana.


Si tiene una pantalla basada en MFC CWnd , entonces CWnd::ShowWindow(SW_HIDE);
Si está utilizando solo win32 entonces ShowWindow(hWnd, SW_HIDE);

Otras cosas que la gente hace dependiendo de tus objetivos

  • hacer que la ventana sea muy pequeña
  • mover la ventana fuera del área de escritorio visible

ShowWindow(... SW_HIDE ...) no funciona?

La mejor práctica aquí es no crear la ventana en primer lugar . Nada te obliga a crear una ventana en InitInstance. Sin embargo, si está trabajando con MFC, es probable que una gran parte de su lógica de aplicación / dominio / negocio esté allí, estrechamente unida a esos manejadores de mensajes MFC y demás. En ese caso, la ventana deberá existir.


cree la ventana, omita el indicador WS_VISIBLE y no llame a ShowWindow.

o

Cuando llame a showWindow (), agregue el parámetro SW_HIDE.

ShowWindow(hWnd, SW_HIDE);