A menudo utilizo la siguiente solución para este caso: cree un contexto de aplicación y utilícelo en el proyecto de WinForm en lugar de en un formulario.
Crear una clase Application Context
public class MyApplicationContext : ApplicationContext
{
public MyApplicationContext()
{
}
void Exit(object sender, EventArgs e)
{
Application.Exit();
}
}
En Program.cs -> reemplazar Application.Run originales() llamar
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 frm = new Form1(); //remove if not needed
Application.Run(new MyApplicationContext());
}
Debido a que no se presenta la forma más , debe proporcionar otras formas de cerrar la aplicación. Es decir. Uso de la bandeja del sistema y luego llamar:
Application.Exit();
Nota: El uso de lo anterior (y sin tener que mostrar la forma), nunca obtendrá los eventos de formulario habituales como de carga, cierre, cerrado.
¿Se da cuenta de que Google Software Updater se ejecuta efectivamente como un servicio de Windows en el contexto de la cuenta del sistema local? Un servicio de Windows configurado para el inicio automático con Credenciales del sistema local es probablemente lo que necesita. – kd7