Me refiero a cuando el usuario inicia mi aplicación (exe). Quiero que comience directamente en la bandeja del sistema, sin mostrar la ventana. Como softwares antivirus & gestores de descargas, que se inician y ejecutan en la bandeja del sistema de forma silenciosa.¿Cómo iniciar la aplicación directamente en la bandeja del sistema? (.NET C#)
Quiero el mismo efecto y cuando el usuario hace clic en el botón "mostrar" del contextmenustrip de notifyIcon, solo la aplicación debe mostrar la GUI.
estoy usando esto, pero no su trabajo
private void Form_Load(object sender, EventArgs e)
{
this.Hide();
}
Puede ser que tenga que tener una función principal() de alguna otra clase que no tiene interfaz gráfica de usuario, pero tiene NotifyIcon & ContextMenuStrip cuya opción va a crear una instancia de la interfaz gráfica de usuario clase de ventana. ¿Derecha?
Consulte también esta pregunta - http://stackoverflow.com/questions/807005/c-net-winforms-instantiate-a-form-without-showing-it – ChrisF
Perdón por sacar un viejo tema. Tengo todo excepto una cosa importante. Entiendo que 'Application.Run()' esencialmente renuncia al control (?). Lo que quiero hacer es tener código haciendo algo sin interacción del usuario (digamos que está procesando datos y escribiéndolo en un archivo). ¿Dónde colocaría este código para que se ejecute mientras el programa se encuentra en la bandeja del sistema? –
@BarryDysert: 'Aplicación.Run() 'inicia la bomba de mensajes de Windows. Si no tiene esta llamada en algún lugar, entonces el icono de la bandeja no funcionará en absoluto. Sin saber nada acerca de lo que realmente estás tratando de lograr, diría que para ver los hilos, solo ten en cuenta los problemas que modifican las cosas de la interfaz de usuario en los hilos que no sean el que se llamó desde 'Application.Run()'. –