c# - visual - Aplicación de consola.Net que no genera una consola
que es console write en c# (6)
¿Por qué no haces que la aplicación sea un servicio de Windows?
Tengo una aplicación de consola que estoy usando para ejecutar trabajos programados a través del programador de Windows. Toda la comunicación a / desde la aplicación está en el correo electrónico, registro de eventos, registros de la base de datos. ¿Hay alguna forma en que pueda suprimir la ventana de la consola?
Es un truco, pero la siguiente publicación de blog describe cómo puedes ocultar la ventana de la consola:
http://expsharing.blogspot.com/2008/03/hideshow-console-window-in-net-black.html
Por supuesto. Constrúyalo como una aplicación de winforms y nunca muestre su formulario.
Solo ten cuidado, porque entonces ya no es una aplicación de consola, y hay algunos entornos donde no podrás usarla.
Prestado de MSDN ( texto de enlace ):
using System.Runtime.InteropServices;
...
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
...
//Sometimes System.Windows.Forms.Application.ExecutablePath works for the caption depending on the system you are running under.
IntPtr hWnd = FindWindow(null, "Your console windows caption"); //put your console window caption here
if(hWnd != IntPtr.Zero)
{
//Hide the window
ShowWindow(hWnd, 0); // 0 = SW_HIDE
}
if(hWnd != IntPtr.Zero)
{
//Show window again
ShowWindow(hWnd, 1); //1 = SW_SHOWNORMA
}
Programe la tarea para ejecutar como un usuario diferente de su cuenta y no aparecerá una ventana emergente. . .
Simplemente configure la tarea programada como "Ejecutar si el usuario ha iniciado sesión o no".